home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / zls / rrhp / rrhp.bas < prev   
BASIC Source File  |  2000-06-30  |  132KB  |  4,216 lines

  1.  /* rem pekebas rrhp.bas [FREEWARE] cornercept 1997
  2.  /* Remrunners Hyher Padock for X680x0 series
  3.  
  4.  /* HORSES DATA MAIN
  5.  dim str h(70)      /* なまえ
  6.  dim char hg(70)    /* グラフィック 0-19
  7.  dim char hk(70)    /* (Reach for BP)
  8.  dim char hs(70)    /* 基準脚力
  9.  dim char hs2(70)   /* ペース配分指数  1(序盤重視)~50(一定)~99(終盤重視)
  10.  dim char hz(70,5)  /* 過去6レースの順位
  11.  dim char ad(70)    /* オッズ作成用ランク
  12.  dim char out(70)   /* 出場フラグ
  13.  dim char points(70)/* 獲得ポイント 1位=10 2位=6 3位=3
  14.  
  15.  
  16.  /* RACE PARAMETERS
  17.  dim int en(5),dis(5),res(5),posi(5)
  18.  dim int spd(5),fd(5),ld(5)        /* fd,ldは序盤/終盤のダッシュ値
  19.  dim str graph(5)
  20.  dim int w(6),bp(5),rc(5)
  21.  dim int odds(21),moda(5),juni(5),fdd(5),zip(5)
  22.  dim char hac(5),jun(5)
  23.  str graph_c
  24.  int gl     /* Goal Line
  25.  int ro     /* Turn Counter
  26.  int rn,rnn /* random number
  27.  int comp
  28.  int bo,so
  29.  dim char c_out(80)
  30.  char zi    /* 
  31.  
  32.  
  33.  /* PLAYER PARAMETERS
  34.  dim int coin(6)
  35.  dim str name(6)
  36.  dim int peak(10)
  37.  dim int b_coin(6,21),win(6),pay(6),join_red(6)
  38.  dim char join(6),ccp(6),b_num(6),ki(6,5,1)
  39.  int gold=1500
  40.  char player,captain,cap_enc
  41.  
  42.  
  43.  /* SPACESHIP PARAMETERS
  44.  dim char Eng(12)={1,1,0,0,1}
  45.  dim char busy(9)    /* CRUE: TASK REVOLVER  0:Not_Yet 1:Already
  46.  dim char Exi(5)
  47.  dim char Eqi(20)
  48.  dim char Sen(50)    /*scenario flag
  49.  dim str bqm(3)={"","","",""}
  50.  dim int Rdp(2,2)
  51.  char CE        /* connected powersource
  52.  
  53.  
  54.  
  55.  /* GAME PARAMETERS
  56.  dim str m$(12)={"","January","February","March","April","May","June","July","August","September","October","November","December"}
  57.  dim str n$(9)={"0","1","2","3","4","5","6","7","8","9"}
  58.  dim str b$(3)={"","爆発パワー ","転倒 ","故障 "}
  59.  dim str bt$(21)={" 1 "," 2 "," 3 "," 4 "," 5 "," 6 ","1-2","1-3","1-4","1-5","1-6","2-3","2-4","2-5","2-6","3-4","3-5","3-6","4-5","4-6","5-6"}
  60.  dim str cn$(9)={"Samuel","Sheckley","Marion","Bruce","Fredrick","Alice","David","Arthur","Niel","Frank"}
  61.  dim str np(3)={"■■■■","■    ■","■      ","      ■"}
  62.  dim str RL(9)={"s","S","m","b","f","a","d","A","n","F"}
  63.  dim char ati(20,1)={1,1,2,2,3,3,4,4,5,5,6,6,1,2,1,3,1,4,1,5,1,6,2,3,2,4,2,5,2,6,3,4,3,5,3,6,4,5,4,6,5,6}
  64.  dim char CPU_en(9),enc(9)
  65.  dim char gm(3690),gm2(288)  /*  82x90  24x24
  66.  dim char ng(9,4)={0,1,1,1,0,  3,3,3,3,3,  0,3,0,2,0,  0,3,0,3,0,  1,1,0,3,3,
  67.                   +0,2,0,3,0,  0,2,0,1,0,  0,1,3,3,3,  0,1,0,1,0,  0,1,0,3,0}
  68.  dim char crgb(41)={25,15,30,12,29,20,30,30,15,30,24,15,0,28,15,11,21,0,15,30,30,5,5,21,30,0,15,30,15,0,26,20,13,16,16,17,19,19,17,22,22,20}
  69.  dim int sls(7,5)    /* 角度/位置(半径)/目標半径/移動速度type0,1,2/カウンタ
  70.  dim char smv(2,9)={1,1,1,1,1,2,2,2,2,3,
  71.                    +1,1,2,2,2,3,3,3,3,4,
  72.                    +2,2,3,3,3,4,5,6,7,8}
  73.  
  74.  
  75.  char stars        /* ブリッジ前面スクリーンの星のながれ 0:Off 1:On
  76.  int SH            /* 星のカウンタ
  77.  int HAK        /* hitany() 内カウンタ
  78.  str ss,as,www
  79.  int finish
  80.  int race    /* race number
  81.  int round
  82.  char hyher,bos
  83.  char v_out
  84.  char comet
  85.  char RR=12,OS,IV=1,SEN,ML=1
  86.  char toki                /* 1にすると関数tok()の最後で入力待ちと消去を行う
  87.  char Hn,Hx
  88.  int tc
  89.  
  90.  
  91.  /* FOR TESTMODE
  92.  char debug_sw=0
  93.  
  94.  /* COLOR
  95.  int green
  96.  
  97.  /* MUSIC
  98.  dim char on(4,10)={38,15,02,01,200,127,0,0, 0, 3, 0,
  99.                 +31,00,00,15,00,00,00,01,00,00,00,
  100.                    +31,00,00,15,00,00,00,01,00,00,00,
  101.                    +31,00,00,15,00,00,00,01,00,00,00,
  102.                    +31,00,00,15,00,00,00,01,00,00,00}
  103.  
  104.  /* IPC-form
  105.  dim int g(8000)            /* ipcデータ: g(Character-Number,Block) 
  106.  dim int c_r(255),c_g(255),c_b(255)   /* パレットデータ R,G,B  [256 COLORS]
  107.  
  108.  /* UMA
  109.  str g1=chr$(30),g2=chr$(28),g3=chr$(31),g4=chr$(29),g5
  110.  g5=g4+g4+g4+g4+g4+g4+g4+g4+g3
  111.  dim str um(19)
  112.  um( 0)="O___ "+g4+g4+g4+g4+g4+g3+" H H "
  113.  um( 1)="コ___ "+g4+g4+g4+g4+g4+g3+" YYY "
  114.  um( 2)="\__) "+g4+g4+g4+g4+g4+g3+" A A "
  115.  um( 3)="%__, "+g4+g4+g4+g4+g4+g3+" M M "
  116.  um( 4)="V___ "+g4+g4+g4+g4+g4+g3+" X^X "
  117.  um( 5)="「@   "+g4+g4+g4+g4+g4+g3+" TTT "
  118.  um( 6)=">O / "+g4+g4+g4+g4+g4+g3+" (~) "
  119.  um( 7)="(y   "+g4+g4+g4+g4+g4+g3+" X)  "
  120.  um( 8)="     "+g4+g4+g4+g4+g4+g3+"<oo> "
  121.  um( 9)="W..W "+g4+g4+g4+g4+g4+g3+"A--A "
  122.  um(10)=">O/フ "+g4+g4+g4+g4+g4+g3+" ノ」  "
  123.  um(11)="U___ "+g4+g4+g4+g4+g4+g3+" ハ ハ "
  124.  um(12)="ロ__ュ "+g4+g4+g4+g4+g4+g3+" H H "
  125.  um(13)="___] "+g4+g4+g4+g4+g4+g3+"o o  "
  126.  um(14)="o-=  "+g4+g4+g4+g4+g4+g3+"=._ヨ "
  127.  um(15)=">@   "+g4+g4+g4+g4+g4+g3+" Iフ  "
  128.  um(16)="/o   "+g4+g4+g4+g4+g4+g3+"~X>  "
  129.  um(17)="     "+g4+g4+g4+g4+g4+g3+"m・・W "
  130.  um(18)="]#   "+g4+g4+g4+g4+g4+g3+" Ooo "
  131.  um(19)="     "+g4+g4+g4+g4+g4+g3+":<<< "
  132.  graph_c="     "+g4+g4+g4+g4+g4+g3+"     "
  133.  
  134.  
  135.  /* HORSES GRAPHIC INTRODUCTION:
  136.  
  137.  /*  0     1     2     3     4     5     6     7     8     9
  138.  /*  
  139.  /*  O___  コ___  \__)  %__,  V___  「@    >O /  (y          W..W   
  140.  /*   H H   YYY   A A   M M   X^X   TTT   (~)   X)   <oo>  A--A  
  141.  /*   
  142.  /*   
  143.  /*  10    11    12    13    14    15    16    17    18    19 
  144.  /*   
  145.  /*  >O/フ  U___  ロ__ュ  ___]  o-=   >@    /o          ]#    
  146.  /*   ノ」    ハ ハ   H H  o o   =._ヨ   Iフ   ~X>   m・・W   Ooo  :<<<  
  147.  
  148.  /* FOR LOOP/COUNTS
  149.  int LP,LP2,LP3,LP4,LC,CPS,LCD,CN,NB,NS,TX,TY,TT,R2,G2,B2
  150.  
  151.  
  152.  /* main
  153.  screen 2,0,1,1
  154.  console 0,32,0
  155.  window(0,0,901,800)
  156.  
  157. /*texpin_sc()
  158. /* hitany()
  159.  
  160. /* test1() 
  161. /* test2() 
  162.  
  163.  ipcload("KBH2.ipc")
  164.  for LP=0 to 13
  165.      palet(LP+1,rgb(crgb(LP*3),crgb(LP*3+1),crgb(LP*3+2)))
  166.      next
  167.  palet(1,1)
  168. /* palet(2,rgb(12,29,20)) /* 後に確認後、この数値を初期設定値とする。
  169.  LC=trace()
  170. /* selec()
  171. /* selec_t()
  172. /* faces()
  173. /* graphpac()
  174. /* wipe()
  175. /* graphicLoad()
  176.  LC=atoi(mid$(time$,1,2))*100
  177.  LC=LC-atoi(right$(time$,2))
  178.  if right$(date$,1)>"4" then LC=LC-60*atoi(right$(time$,2))
  179.  if atoi(mid$(time$,4,2))>4 then LC=LC*atoi(right$(time$,2))
  180.  randomize(LC)
  181.  color [,rgb(12,29,20),rgb(15,18,18),rgb(31,31,31)]
  182.  title()
  183.  ss=infos(0)
  184.  ss=space$(95-len(ss))+ss
  185.  color 10
  186.  pen(0,0,ss)
  187.  firstsetting()
  188.  color 10:pw():color 3
  189.  for LP=0 to 6
  190.      pen(LP*13+2,29,"GAMEOVER")
  191.      next
  192.  LP=int(rnd()*7)
  193.  if LP>4 then {
  194.     LC=2
  195.     if rnd()*6<1 then LC=0
  196.     CPU_en(9)=1
  197.     join_red(LC)=rnd()*500+10
  198.     ccp(LC)=9
  199.     }
  200.  while 1
  201.   
  202.   round=round+1
  203.   for LP=0 to 65
  204.       out(LP)=0
  205.       next
  206.   for LP2=1 to 12
  207.       LC=0
  208.       for LP=0 to 6
  209.           if join(LP)=3 then fill(LP*13*8+2,371,LP*13*8+83,460,0):color 3:pen(LP*13,31,"            "):join(LP)=0
  210.           if LP>3 then if LC<4 then continue
  211.           if join(LP)=2 then LC=LC+1
  212.           if join(LP)>0 then continue
  213.           if rnd()*10<3 then continue
  214.           rn=rnd()*10
  215.           if CPU_en(rn)=1 then continue
  216.           if LP2<12 then if rnd()*11>8 then continue
  217.           if rnd()*3>2 then continue
  218.           join_red(LP)=rnd()*1500+10 /* enter ready
  219.           CPU_en(rn)=1
  220.           ccp(LP)=rn
  221.           next
  222.    
  223.    race=race+1
  224.    for LP=0 to 65
  225.        c_out(LP)=0
  226.        next
  227.    if LP2=12 then if right$(str$(race),1)="4" then {
  228.       hyher=2
  229.       for LC=0 to 5
  230.           moda(LC)=0:hac(LC)=0
  231.           next
  232.       LP=0
  233.       while 1
  234.        CPS=0
  235.        for LC=0 to 65
  236.            if c_out(LC)=1 then continue
  237.            CN=hz(LC,0)+hz(LC,1)+hz(LC,2)+hz(LC,3)+hz(LC,4)+hz(LC,5)
  238.            if CN>CPS then rn=LC:CPS=CN
  239.            next
  240.        c_out(rn)=1
  241.        en(LP)=rn
  242.        spd(LP)=hs(rn)
  243.        graph(LP)=um(hg(rn))
  244.        if LP=5 then break
  245.        LP=LP+1
  246.        endwhile
  247.       }
  248.    if LP2=12 then if hyher=0 then {
  249.       hyher=1
  250.       for LC=0 to 5
  251.           moda(LC)=0:hac(LC)=0
  252.           next
  253.       LP=0
  254.       while 1
  255.        CPS=0
  256.        for LC=0 to 65
  257.            if c_out(LC)=1 then continue
  258.            if points(LC)>CPS then CPS=points(LC):rn=LC:continue
  259.            if points(LC)=CPS then if int(rnd()*4)>2 then rn=LC
  260.            next
  261.        c_out(rn)=1
  262.        en(LP)=rn
  263.        spd(LP)=hs(rn)
  264.        graph(LP)=um(hg(rn))
  265.           CPS=0
  266.           for LC=0 to 4
  267.               if hz(en(LP),LC)=1 then CPS=CPS+1
  268.               next
  269.           if ad(en(LP))=1 then if CPS>2 then if rnd()*10>3 then hac(LP)=1:if rnd()*2<1 then spd(LP)=spd(LP)+1
  270.           if ad(en(LP))=2 then if CPS>1 then if rnd()*10>1 then hac(LP)=1:if rnd()*8>6 then spd(LP)=spd(LP)+5
  271.           if ad(en(LP))=3 then if hz(en(LP),0)<4 then if rnd()*3<1 then hac(LP)=2:if rnd()*5>2 then spd(LP)=spd(LP)+rnd()*3+1
  272.           if ad(en(LP))=4 then if int(rnd()*820)=68 then hk(en(LP))=1
  273.           if int(rnd()*8)=1 then hac(LP)=3:spd(LP)=spd(LP)+2
  274.           if hac(LP)=0 then if int(rnd()*24)=3 then hac(LP)=6:if rnd()*2<1 then spd(LP)=spd(LP)-rnd()*5-1
  275.           if hac(LP)=0 then if int(rnd()*20)=5 then hac(LP)=4
  276.           if hac(LP)=0 then if int(rnd()*20)=1 then {
  277.              hac(LP)=5
  278.              if rnd()*5>1 then moda(LP)=moda(LP)+rnd()*1200 else moda(LP)=moda(LP)+rnd()*3000
  279.              }
  280.        if LP=5 then break
  281.        LP=LP+1
  282.        endwhile
  283.       }
  284.    if LP2<12 then {
  285.       hyher=0
  286.       for LP=0 to 5
  287.           hac(LP)=0:moda(LP)=0
  288.           while 1
  289.             rn=rnd()*66
  290.             if out(rn)=0 then break
  291.             endwhile
  292.           out(rn)=1
  293.           en(LP)=rn
  294.           spd(LP)=hs(rn)
  295.           graph(LP)=um(hg(rn))
  296.           CPS=0
  297.           for LC=0 to 4
  298.               if hz(en(LP),LC)=1 then CPS=CPS+1
  299.               next
  300.           if ad(en(LP))=1 then if CPS>2 then if rnd()*10>3 then hac(LP)=1:if rnd()*2<1 then spd(LP)=spd(LP)+1
  301.           if ad(en(LP))=2 then if CPS>1 then if rnd()*10>1 then hac(LP)=1:if rnd()*8>6 then spd(LP)=spd(LP)+5
  302.           if ad(en(LP))=3 then if hz(en(LP),0)<4 then if rnd()*7<2 then hac(LP)=2:if rnd()*5>2 then spd(LP)=spd(LP)+rnd()*7+1
  303.           if ad(en(LP))=4 then if int(rnd()*120)=68 then hk(en(LP))=1
  304.           if int(rnd()*8)=1 then hac(LP)=3:spd(LP)=spd(LP)+2
  305.           if hac(LP)=0 then if int(rnd()*14)=3 then hac(LP)=6:if rnd()*8<3 then spd(LP)=spd(LP)-rnd()*5 
  306.           if hac(LP)=0 then if int(rnd()*14)=5 then hac(LP)=4 
  307.           if hac(LP)=0 then if int(rnd()*20)=1 then hac(LP)=5:moda(LP)=moda(LP)+rnd()*800
  308.           next
  309.       }
  310.    color 10:pen(0,0," R #"+str$(race)):color 3
  311.    wait(7)
  312.    palet(15,0)
  313.    get(656,692,737,781,gm)
  314.    put(305,167,386,203,gm)
  315.    symbol(385,180,space$(3-len(str$(race)))+"#"+str$(race),1,1,2,15,0)
  316.    symbol(386,180,space$(3-len(str$(race)))+"#"+str$(race),1,1,2,15,0)
  317.    symbol(387,180,space$(4-len(str$(race)))+str$(race),1,1,2,15,0)
  318.    get(305,164,444,205,gm)
  319.    if LP2=12 then color 5:pen(38,15,"HYHER CHAMPIONSHIP")
  320.    if hyher=2 then pen(41,17,"- LIMITED -")
  321.    for LP=0 to 15
  322.        palet(15,rgb(LP,LP,LP))
  323.        v_disp()
  324.        put(305,164-LP,444,205-LP,gm)
  325.        next
  326.    for LP=0 to 15
  327.        palet(15,rgb(LP+16,LP+16,LP+16))
  328.        v_disp()
  329.        put(305,149+LP,444,190+LP,gm)
  330.        next
  331.    for LP=0 to 11
  332.     v_disp()
  333.     fill(300+(11-LP)*12,205,312+(11-LP)*12,206,7)
  334.     next
  335.    wait(9)
  336.    c_r(16)=c_r(7):c_g(16)=c_g(7):c_b(16)=c_b(7)
  337.    for LP=0 to 12 /* 167 to 203
  338.        if c_r(16)>0 then c_r(16)=c_r(16)-1
  339.        if c_g(16)>0 then c_g(16)=c_g(16)-1
  340.        if c_b(16)>0 then c_b(16)=c_b(16)-1
  341.        wait(1)
  342.        palet(7,rgb(c_r(16),c_g(16),c_b(16)))
  343.        palet(15,rgb(31-LP,31-LP,31-LP))
  344.        put(305,LP*3+167,444,203,gm)
  345.        next
  346.    palet(15,65535)
  347.    fill(300,205,444,206,0)
  348.    palet(7,rgb(c_r(7),c_g(7),c_b(7)))
  349.    if LP2=12 then color 6:pen(38,15,"HYHER CHAMPIONSHIP")
  350.    if hyher=2 then pen(41,17,"- LIMITED -")
  351.    wait(3)
  352.    enter()
  353.    bet()
  354.    betc()
  355.    /*m_play(1)
  356.    if v_out=1 then {
  357.       v_out=0
  358.       break
  359.       }
  360.    color 3
  361.    pen(80,25,"            ")
  362.    pen(80,24,"            ")
  363.    for LP=0 to 6
  364.        if join(LP)=2 then {
  365.           get(ccp(LP)*82,602,ccp(LP)*82+81,691,gm)
  366.           put(LP*13*8+2,371,LP*13*8+83,460,gm)
  367.           }
  368.        next
  369.    enter_c()
  370.    for LP=0 to 5
  371.     pen(90,7+LP*3,graph(LP))
  372.     dis(LP)=0:posi(LP)=0:res(LP)=0
  373.     fd(LP)=0:fdd(LP)=0:ld(LP)=0:bp(LP)=0
  374.     next
  375.    CN=0:if RR>0 then RR=RR-1
  376.    finish=1
  377.    pen(6,6,"|")
  378.    if join(0)=0 then pen(6,24,"|")
  379.    wait(70)
  380.    rn=rnd()*6
  381.    spd(rn)=spd(rn)-5
  382.    rn=rnd()*6
  383.    spd(rn)=spd(rn)+5
  384.    for LP=0 to 5
  385.        if hs2(en(LP))<rnd()*30+30 then fd(LP)=60-hs2(en(LP))-rnd()*20
  386.        if rnd()*55>hs2(en(LP)) then fd(LP)=fd(LP)+5
  387.        if rnd()*35>hs2(en(LP)) then fd(LP)=fd(LP)+12
  388.        if fd(LP)>0 then {
  389.           if int(rnd()*8)=0 then fd(LP)=fd(LP)/2
  390.           fdd(LP)=5:if int(rnd()*5)=4 then fdd(LP)=rnd()*9:if int(rnd()*14)=1 then fdd(LP)=fdd(LP)+15
  391.           }
  392.        if hs2(en(LP))>59 then { 
  393.           ld(LP)=hs2(en(LP))-55
  394.           spd(LP)=spd(LP)-rnd()*6
  395.           if rnd()*50+50<hs2(en(LP)) then ld(LP)=ld(LP)+10
  396.           if rnd()*50+50<hs2(en(LP)) then ld(LP)=ld(LP)+10
  397.           if int(rnd()*3)=0 then ld(LP)=ld(LP)/2
  398.           if ld(LP)>0 then ld(LP)=94-ld(LP)
  399.           if ld(LP)<0 then ld(LP)=5
  400.           if int(rnd()*10)=6 then ld(LP)=ld(LP)+20
  401.           }
  402.        next
  403.    zi=rnd()*100
  404.    for LP=0 to 5
  405.        if abs(hs2(en(LP))-zi)<5 then zip(LP)=25:spd(LP)=spd(LP)+10:continue
  406.        if abs(hs2(en(LP))-zi)<10 then zip(LP)=25:continue
  407.        if abs(hs2(en(LP))-zi)<21 then zip(LP)=15:continue
  408.        zip(LP)=10
  409.        next
  410.    while 1
  411.     LP3=LP3+1:if LP3=5 then LP3=0:CN=CN+1 /* CN = loop counter
  412.     /* pen(0,1,sasi(CN,3))
  413.     LP4=LP3
  414.     if CN>60 then LP4=rnd()*5
  415.     switch LP4
  416.     case 2:for LP=0 to 5
  417.                if bp(LP)=1 then dis(LP)=dis(LP)+30
  418.                rn=int(rnd()*4):if rn=3 then {
  419.                   if hac(LP)=6 then dis(LP)=dis(LP)+spd(LP)/3:continue
  420.                   if hac(LP)=7 then if CN>50+rnd()*20 then dis(LP)=dis(LP)+rnd()*spd(LP)*ad(en(LP)):continue
  421.                   }
  422.                if rnd()*20<1 then if hac(LP)=3 then dis(LP)=dis(LP)+rnd()*spd(LP)*ad(en(LP)):continue
  423.                if posi(LP)>50 then if res(LP)=0 then if ad(en(LP))<4 then if int(rnd()*1870)=1 then if bp(LP)=0 then {
  424.                   if hac(LP)=4 then continue
  425.                   bp(LP)=2:if hg(en(LP))=13 then bp(LP)=3
  426.                   pen(90-posi(LP),LP*3+7,graph(LP)+b$(bp(LP)))
  427.                   }
  428.                if rnd()*3<1 then dis(LP)=dis(LP)+rnd()*spd(LP):continue
  429.                if moda(LP)>0 then {
  430.                   CPS=rnd()*30+20
  431.                   dis(LP)=dis(LP)+CPS
  432.                   moda(LP)=moda(LP)-CPS:if moda(LP)<0 then moda(LP)=0
  433.                   }
  434.                if CN<25 then dis(LP)=dis(LP)+rnd()*25
  435.                dis(LP)=dis(LP)+spd(LP)
  436.                next
  437.            break
  438.     case 1:rn=rnd()*6
  439.            dis(rn)=dis(rn)+20
  440.            if int(rnd()*4)=1 then {
  441.               for LP=0 to 5
  442.                   if CN>70 then dis(LP)=dis(LP)+rnd()*30:continue
  443.                   dis(LP)=dis(LP)+spd(LP)
  444.                   next
  445.               break
  446.               }
  447.            for LP=0 to 5
  448.                if int(rnd()*6)=0 then dis(LP)=dis(LP)+10:continue
  449.                if posi(LP)<=fd(LP)+fdd(LP) then {
  450.                   if int(rnd()*6)=0 then dis(LP)=dis(LP)+(spd(LP)/2)+20:continue
  451.                   dis(LP)=dis(LP)+25
  452.                   }
  453.                if ld(LP)>0 then if posi(LP)>=ld(LP) then {
  454.                   if int(rnd()*5)=0 then dis(LP)=dis(LP)+hs2(en(LP))-50:continue
  455.                   if hac(LP)=7 then dis(LP)=dis(LP)+25
  456.                   if hac(LP)=2 then dis(LP)=dis(LP)+10
  457.                   dis(LP)=dis(LP)+rnd()*30:continue
  458.                   }
  459.                next
  460.            break
  461.     case 0:for LP=0 to 1
  462.                rn=rnd()*6
  463.                dis(rn)=dis(rn)+rnd()*20*ad(en(rn))
  464.                next
  465.            for LP=0 to 5
  466.                if bp(LP)=1 then dis(LP)=dis(LP)+60
  467.                if moda(LP)>0 then {
  468.                   CPS=rnd()*30+20
  469.                   dis(LP)=dis(LP)+CPS
  470.                   moda(LP)=moda(LP)-CPS:if moda(LP)<0 then moda(LP)=0
  471.                   }
  472.                next
  473.            for LC=0 to 1
  474.                LP=rnd()*6
  475.                if ad(en(LP))<3 then continue
  476.                if res(LP)>0 then continue
  477.                if bp(LP)=1 then break
  478.                if posi(LP)<40 then continue
  479.                if hk(en(LP))=0 then {
  480.                   if rnd()*2>1 then break
  481.                   if rnd()*8+rnd()*8+rnd()*8<spd(LP) then break
  482.                   if rnd()*60<spd(LP) then continue
  483.                   if rnd()*50<spd(LP) then continue
  484.                   rc(LP)=1
  485.                }
  486.                if int(rnd()*20)=0 then if int(rnd()*8)=0 then spd(LP)=spd(LP)+70:bp(LP)=1:hk(en(LP))=0:rc(LP)=0
  487.                next
  488.            break
  489.     case 3:for LP=0 to 5
  490.                if posi(LP)<fd(LP) then dis(LP)=dis(LP)+fdd(LP)
  491.                if abs(hs2(en(LP))-50)<rnd()*20 then if int(rnd()*6)=1 then dis(LP)=dis(LP)+8
  492.                if posi(LP)>40 then if posi(LP)<43 then if hs2(en(LP))<41 then if rnd()*60>hs2(en(LP)) then if int(rnd()*7)=3 then spd(LP)=spd(LP)-hs(en(LP))/4
  493.                if CN<20 then if hs2(en(LP))<20+rnd()*22 then dis(LP)=dis(LP)+25:continue
  494.                if CN<50 then if hs2(en(LP))<50 then {
  495.                   if hac(LP)=5 then continue
  496.                   if rnd()*60>hs2(en(LP)) then dis(LP)=dis(LP)+zip(LP):continue
  497.                   if hac(LP)=4 then dis(LP)=dis(LP)+50-hs2(en(LP)):continue
  498.                   }
  499.                if CN>85 then if hs2(en(LP))>50 then if rnd()*50+50<hs2(en(LP)) then dis(LP)=dis(LP)+25
  500.                if CN>60 then if hs2(en(LP))>83-rnd()*30 then {
  501.                   if CN>hs2(en(LP))+rnd()*40 then dis(LP)=dis(LP)+rnd()*20+3
  502.                   if hac(LP)=5 then continue
  503.                   if hac(LP)=4 then dis(LP)=dis(LP)+15:continue
  504.                   if hac(LP)=7 then dis(LP)=dis(LP)+rnd()*40:continue
  505.                   if hac(LP)=2 then dis(LP)=dis(LP)+20:continue
  506.                   if hac(LP)=3 then dis(LP)=dis(LP)+zip(LP):continue
  507.                   }
  508.                next
  509.     case 4:if CN<3 then break
  510.            if CN=25 then {
  511.               NB=rnd()*30+50
  512.               for LP=0 to 5
  513.                   if NB<hs2(en(LP)) then spd(LP)=spd(LP)-hs(en(LP))/3+ad(en(LP))
  514.                   if int(rnd()*8)=5 then spd(LP)=hs(en(LP))
  515.                   next
  516.               break
  517.               }
  518.            if CN=65 then {
  519.               NB=rnd()*30+20
  520.               for LP=0 to 5
  521.                   spd(LP)=hs(en(LP))
  522.                   if NB>hs2(en(LP)) then {
  523.                      spd(LP)=spd(LP)-hs(en(LP))/3
  524.                      if int(rnd()*6)=5 then spd(LP)=hs(en(LP))-4
  525.                      }
  526.                   next
  527.               break
  528.               }
  529.            if CN=100 then {
  530.               for LP=0 to 5
  531.                   spd(LP)=hs(en(LP))+rnd()*8
  532.                   next
  533.               break
  534.               }
  535.            for LP=0 to 5
  536.                jun(LP)=0
  537.                next
  538.            for LP=0 to 5
  539.                NB=0
  540.                for LC=0 to 5
  541.                    if jun(LC)=1 then continue
  542.                    if dis(LC)>NB then NS=LC:NB=dis(LC)
  543.                    next
  544.                juni(NS)=LP:jun(NS)=1
  545.                next
  546.            NB=CN:NB=NB mod 3
  547.            if NB=0 then {
  548.               for LP=0 to 5
  549.                   if juni(LP)>3 then dis(LP)=dis(LP)+25
  550.                   next
  551.               break
  552.               }
  553.            for LP=0 to 5
  554.                if int(rnd()*260)=71 then spd(LP)=spd(LP)+8
  555.                if int(rnd()*60)=4 then moda(LP)=moda(LP)+rnd()*140
  556.                if abs(CN-hs2(en(LP)))<20 then dis(LP)=dis(LP)+zip(LP)
  557.                next
  558.            break 
  559.     endswitch
  560.     v_disp()
  561.     for LP=0 to 5
  562.         if bp(LP)>1 then {
  563.            if int(rnd()*6)=5 then if int(rnd()*15)=0 then bp(LP)=0:pen(90-posi(LP),LP*3+7,graph(LP)+"    ")
  564.            continue
  565.            }
  566.         if dis(LP)/100>posi(LP) then {
  567.            posi(LP)=posi(LP)+1
  568.            if res(LP)>0 then {
  569.               if posi(LP)>94 then continue
  570.               switch posi(LP)
  571.                case 91:pen(0,LP*3+7,mid$(graph(LP),2,4)+g4+g4+g4+g4+g3+mid$(graph(LP),13,4)+b$(bp(LP))):break
  572.                case 92:pen(0,LP*3+7,mid$(graph(LP),3,3)+g4+g4+g4+g3+mid$(graph(LP),14,3)+b$(bp(LP))):break
  573.                case 93:pen(0,LP*3+7,mid$(graph(LP),4,2)+g4+g4+g3+mid$(graph(LP),15,2)+b$(bp(LP))):break
  574.                case 94:pen(0,LP*3+7," "+g4+g3+"       "):break
  575.                default:pen(90-posi(LP),LP*3+7,graph(LP)+b$(bp(LP)))
  576.                endswitch
  577.               pen(4,LP*3+8,str$(res(LP)))
  578.               }
  579.            if res(LP)=0 then pen(90-posi(LP),LP*3+7,graph(LP)+b$(bp(LP)))
  580.            if dis(LP)/100>posi(LP) then dis(LP)=posi(LP)*100+hs2(en(LP))
  581.            dis(LP)=dis(LP)+bos
  582.            }
  583.         if res(LP)>0 then continue   
  584.         if dis(LP)>8399 then res(LP)=finish:rec(en(LP),finish):w(finish)=LP+1:finish=finish+1:pen(4,LP*3+8,str$(res(LP))):spd(LP)=spd(LP)/3:if finish=2 then ro=382
  585.         next
  586.     if ro>0 then {
  587.        ro=ro+1
  588.        if ro=400 then bo=1
  589.        }
  590.     if bo=1 then {
  591.        if ro>450 then LCD=LCD+1
  592.        if LCD=2 then {
  593.           LCD=0
  594.           for LP=0 to 6
  595.               if pay(LP)>0 then pay(LP)=pay(LP)-1:coin(LP)=coin(LP)+1:color 9:pen(LP*13+6,29,sasi(coin(LP),4)):color 3
  596.               next
  597.           }
  598.        switch ro
  599.          case 420:/*
  600.                   color 9
  601.                   fill(336,224,511,303,2) /*penbox(42,14,63,18)
  602.                   symbol(352,240,"単勝",1,1,1,1,0)
  603.                   symbol(352,272,"連複",1,1,1,1,0)
  604.                   /*pen(44,15,"単勝")
  605.                   /*pen(44,17,"連複")
  606.                   symbol(400,240,n$(w(1)),1,1,1,1,0) /*pen(50,15,n$(w(1)))
  607.                   pen(56,5,"  1  ")
  608.                   color 5:pen(30,2,str$(w(1))+" "+h(en(w(1)-1)))
  609.                   color 3:pen(57,3,graph(w(1)-1))
  610.  
  611.               /*    for LP=0 to 5
  612.               /*        pen(3,1+LP,str$(LP+1)+"("+str$(hs2(en(LP)))+") FD="+str$(fd(LP))+",LD="+str$(ld(LP)))
  613.               /*        next
  614.  
  615.                   break
  616.          case 432:if finish<3 then ro=431:break
  617.                   color 9:symbol(448,240,sasi(odds(w(1)-1),3),1,1,1,1,0) /*pen(56,15,sasi(odds(w(1)-1),3))
  618.                   if w(1)>w(2) then symbol(400,272,n$(w(2))+"-"+n$(w(1)),1,1,1,1,0) else symbol(400,272,n$(w(1))+"-"+n$(w(2)),1,1,1,1,0)
  619.                   if odds(w(1)-1)>odds(w(2)-1) then symbol(448,272,sasi(odds(w(1)-1)/2*odds(w(2)-1)+(odds(w(2)-1)+ad(en(w(1)-1)))/2,3),1,1,1,1,0) else symbol(448,272,sasi(odds(w(2)-1)/2*odds(w(1)-1)+(odds(w(1)-1)+ad(en(w(2)-1)))/2,3),1,1,1,1,0)
  620.                   www=str$(w(1))+"-"+str$(w(2))
  621.                   if w(1)>w(2) then www=str$(w(2))+"-"+str$(w(1))
  622.                   for LP=0 to 6
  623.                       for LP4=0 to 21
  624.                           if b_coin(LP,LP4)>0 then if www=bt$(LP4) then pay(LP)=pay(LP)+odds(LP4)*b_coin(LP,LP4)
  625.                           if b_coin(LP,LP4)>0 then if LP4<6 then if w(1)=LP4+1 then pay(LP)=pay(LP)+odds(LP4)*b_coin(LP,LP4)
  626.                           win(LP)=pay(LP)
  627.                           next
  628.                       next
  629.                   for LP=0 to 6
  630.                       if pay(LP)>0 then {
  631.                          ww(LP):color 9:penbox(LP*13,28,LP*13+10,30)
  632.                          if coin(LP)>9999 then pen(LP*13,29," coin:"+str$(coin(LP))) else pen(LP*13,29," coin:"+sasi(coin(LP),4))
  633.                          color 3
  634.                          }
  635.                       next
  636.                   color 5:pen(30,3,str$(w(2))+" "+h(en(w(2)-1)))
  637.                   color 3:pen(64,4,graph(w(2)-1))
  638.                   break
  639.          case 438:for LP=0 to 6
  640.                       if join(LP)=2 then if win(LP)>0 then {
  641.                          get(ccp(LP)*82,512,ccp(LP)*82+81,601,gm)
  642.                          put(LP*13*8+2,371,LP*13*8+83,460,gm)
  643.                          }
  644.                   next
  645.                   break
  646.          case 444:if finish<4 then ro=443:break
  647.                   color 5:pen(30,4,str$(w(3))+" "+h(en(w(3)-1)))
  648.                   color 3:pen(70,4,graph(w(3)-1))
  649.                   break
  650.          case 456:if finish<5 then ro=455:break
  651.                   color 5:pen(30,5,str$(w(4))+" "+h(en(w(4)-1)))
  652.                   color 3:pen(76,4,graph(w(4)-1))
  653.                   break
  654.          case 468:if finish<6 then ro=467:break
  655.                   color 5:pen(30,6,str$(w(5))+" "+h(en(w(5)-1)))
  656.                   color 3:pen(82,4,graph(w(5)-1))
  657.                   break
  658.          case 480:if finish<7 then ro=479:break
  659.                   color 5:pen(30,7,str$(w(6))+" "+h(en(w(6)-1)))
  660.                   color 3:pen(88,4,graph(w(6)-1))
  661.                   break
  662.          case 547:finish=8
  663.                   for LP=0 to 6
  664.                       if pay(LP)>0 then {
  665.                          coin(LP)=coin(LP)+pay(LP):pay(LP)=0
  666.                          color 9:penbox(LP*13,28,LP*13+10,30)
  667.                          if coin(LP)>9999 then pen(LP*13,29," coin:"+str$(coin(LP))) else pen(LP*13,29," coin:"+sasi(coin(LP),4))
  668.                          color 3
  669.                          }
  670.                       next
  671.          endswitch
  672.        }
  673.     if finish=8 then {
  674.        comp=0
  675.        for LP=0 to 5
  676.            if posi(LP)<95 then comp=1
  677.            next
  678.        if comp=0 then break
  679.        }
  680.     endwhile
  681.     for LP=0 to 5
  682.         points(en(LP))=0
  683.         for LC=0 to 5
  684.             if hz(en(LP),LC)=1 then points(en(LP))=points(en(LP))+10
  685.             if hz(en(LP),LC)=2 then points(en(LP))=points(en(LP))+6
  686.             if hz(en(LP),LC)=3 then points(en(LP))=points(en(LP))+3
  687.             if hz(en(LP),LC)=4 then points(en(LP))=points(en(LP))+1
  688.             next
  689.         if rc(LP)=1 then hk(en(LP))=1
  690.         rc(LP)=0
  691.         next
  692.     wait(10)
  693.     for LP=0 to 6
  694.         color 3
  695.         if coin(LP)=0 then {
  696.            if join(LP)=2 then CPU_en(ccp(LP))=0:join(LP)=3
  697.            if join(LP)=1 then {
  698.               join(LP)=0
  699.               if captain=LP then captain=7
  700.               player=player-1
  701.               }
  702.            penbox(LP*13,28,LP*13+10,30):pen(LP*13+2,29,"GAMEOVER")
  703.            }
  704.         if win(LP)>0 then color 3:pen(LP*13,31,"            ")
  705.         next
  706.     wait(30)
  707.     color 10:pw()
  708.     color 3
  709.     for LP=0 to 5
  710.         pen(4,LP*3+8," ")
  711.         pen(30,2+LP,space$(24))
  712.         next
  713.     pen(6,24," ")
  714.     pen(56,5,"     ")
  715.     pen(63,5,"     ")
  716.     pen(57,3,graph_c)
  717.     pen(64,4,graph_c)
  718.     pen(70,4,graph_c):pen(76,4,graph_c):pen(82,4,graph_c):pen(88,4,graph_c)
  719.     fill(336,224,511,303,0) 
  720.     penbox(2,1,20,7) /*!
  721.     wait(30)
  722.    ro=0:bo=0
  723.    if race=108 then {
  724.       color 9
  725.       palet(1,rgb(12,29,20))
  726.       fill(192,208,575,287,2)
  727.       color 0
  728.       symbol(248,224,"本日のレースはすべて終了致しました",1,1,1,1,0) /*[参考] KERA : 影のERA
  729.       symbol(248,256,"(ERA)エミサイス競星軌道管理協会",1,1,1,1,0) /*(Kernel of,Kibitzers of)
  730.       for LP=0 to 29
  731.           R2=12-LP:if R2<0 then R2=0
  732.           G2=29-LP:if G2<0 then G2=0
  733.           B2=20-LP:if B2<0 then B2=0
  734.           wait(1)
  735.           palet(1,rgb(R2,G2,B2))
  736.           next
  737.       palet(1,1)
  738.       hitany()
  739.       color 3
  740.       fill(192,208,575,287,0)
  741.       penbox(24,13,71,17)
  742.       for LP=0 to 6
  743.           fill(LP*13*8+2,371,LP*13*8+83,460,0)
  744.           next
  745.       penbox(0,22,95,31)
  746.       leave()
  747.       seisan()
  748.       camp()
  749. /*      race=0:round=0
  750.       break
  751.       }
  752.    next
  753.   endwhile
  754.  while 1
  755.  endwhile
  756.  
  757.  end
  758.  
  759.  
  760.  func char think(pn,can,mck)
  761.  
  762.   dim char hkt(5)
  763.   int CP,tmo,kk,ram,klim,hika,hikap,hika2,hikap2,h1,h2,h3,h4
  764.   if mck<25 then tmo=3  /* ジリ貧・抑制モード
  765.   if mck>70 then tmo=2  /* 青信号
  766.   if mck>150 then tmo=1 /* 安泰
  767.   char kn,must
  768.   str oos
  769.   klim=30
  770.   if mck<klim then klim=mck
  771.   switch can
  772.     case 0:/* Samuel
  773.            while 1
  774.              kk=3:if tmo=3 then kk=2
  775.              if tmo=1 then kk=rnd()*5+4
  776.              ram=rnd()*6
  777.              if ad(en(ram))=4 then if rnd()*5>0 then continue
  778.              if ad(en(ram))=3 then if rnd()*5>2 then continue
  779.              if ad(en(ram))=1 then if rnd()*6>5 then kk=kk+5
  780.              if tmo=1 then if int(rnd()*12)=0 then kk=10+rnd()*2*5
  781.              if tmo=3 then if mck>2 then kk=3 else kk=mck
  782.              if kk>klim then kk=klim
  783.              if int(rnd()*30)=0 then ram=rnd()*21
  784.              if kk>mck then kk=mck
  785.              mck=mck-kk
  786.              klim=klim-kk
  787.              ki(pn,kn,0)=ram
  788.              ki(pn,kn,1)=ki(pn,kn,1)+kk
  789.              kn=kn+1
  790.              if kn>1 then break
  791.              if tmo=3 then break
  792.              if klim=0 then break
  793.              if mck=0 then break
  794.              if int(rnd()*3)<2 then break
  795.              endwhile
  796.            break
  797.     case 1:/* Sheckley
  798.            while 1
  799.              kk=2+rnd()*3
  800.              ram=rnd()*6
  801.              if ad(en(ram))=4 then continue
  802.              if ad(en(ram))=3 then if rnd()*4>2 then continue
  803.              if ad(en(ram))=1 then if rnd()*6>5 then kk=kk+3
  804.              if tmo=1 then if int(rnd()*12)=0 then kk=kk+5
  805.              if tmo=3 then if mck>2 then kk=3 else kk=mck
  806.              if kk>klim then kk=klim
  807.              if int(rnd()*5)=0 then ram=rnd()*21
  808.              if kk>mck then kk=mck
  809.              mck=mck-kk
  810.              klim=klim-kk
  811.              ki(pn,kn,0)=ram
  812.              ki(pn,kn,1)=ki(pn,kn,1)+kk
  813.              kn=kn+1
  814.              if tmo=3 then break
  815.              if klim=0 then break
  816.              if mck=0 then break
  817.              if kn>2 then break
  818.              if int(rnd()*8)>2 then break
  819.              endwhile
  820.            break
  821.     case 4:/* Fredrick
  822.            if int(rnd()*5)=0 then if hyher=0 then break
  823.            while 1
  824.              kk=2+rnd()*3
  825.              ram=rnd()*6
  826.              if hg(en(ram))=11 then continue
  827.              if ad(en(ram))=4 then if rnd()*5>0 then continue
  828.              if ad(en(ram))=3 then if rnd()*5>2 then continue
  829.              if ad(en(ram))=1 then if rnd()*6>5 then kk=kk+5
  830.              if tmo=1 then if int(rnd()*12)=0 then kk=10+rnd()*2*5
  831.              if tmo=3 then if mck>2 then kk=3 else kk=mck
  832.              if kk>klim then kk=klim
  833.              if int(rnd()*30)=0 then ram=rnd()*21
  834.              if kk>mck then kk=mck
  835.              mck=mck-kk
  836.              klim=klim-kk
  837.              ki(pn,kn,0)=ram
  838.              ki(pn,kn,1)=ki(pn,kn,1)+kk
  839.              kn=kn+1
  840.              break
  841.              endwhile
  842.            break
  843.     case 2:/* Marion
  844.            for CP=0 to 5
  845.                if spd(CP)>hikap then hikap=spd(CP):hika=CP
  846.                next
  847.            hikap2=0
  848.            for CP=0 to 5
  849.                if CP=hika then continue
  850.                if spd(CP)>hikap2 then hikap2=spd(CP):hika2=CP
  851.                next
  852.            ram=hika
  853.            if hikap-hikap2<5 then {
  854.               rn=rnd()*6
  855.               if rn>3 then ram=hika2
  856.               if rn=0 then {
  857.                  oos=str$(hika+1)+"-"+str$(hika2+1)
  858.                  if hika>hika2 then oos=str$(hika2+1)+"-"+str$(hika+1)
  859.                  for CP=0 to 20
  860.                      if bt$(CP)=oos then ram=CP
  861.                      next
  862.                  }
  863.               }
  864.            kk=3:if rnd()*2>1 then kk=4
  865.            while 1      
  866.              if kk>klim then kk=klim
  867.              if kk>mck then kk=mck
  868.              mck=mck-kk
  869.              klim=klim-kk
  870.              ki(pn,kn,0)=ram
  871.              ki(pn,kn,1)=ki(pn,kn,1)+kk
  872.              kn=kn+1
  873.              if klim=0 then break
  874.              if kn=2 then break
  875.              if rnd()*5>2 then break
  876.              ram=rnd()*7:if ram=6 then ram=rnd()*21
  877.              kk=2
  878.              endwhile
  879.            break
  880.     case 3:/* Bruce
  881.            hikap=499:hikap2=499
  882.            for CP=6 to 20
  883.                if odds(CP)<hikap then hika=CP:hikap=odds(CP):continue
  884.                if odds(CP)=hikap then {
  885.                   if rnd()*3<2 then {
  886.                      if hikap2>hikap+rnd()*5 then hika2=hika:hikap2=hikap:hika=CP:hikap=odds(CP):continue
  887.                      hika=CP:hikap=odds(CP):continue
  888.                      }
  889.                   if rnd()*5>3 then hika2=CP:hikap2=odds(CP):continue
  890.                   }
  891.                next
  892.            ram=hika:kk=3+rnd()*3:if tmo=3 then kk=3:if rnd()*4<1 then if mck<10 then ram=rnd()*21:must=1
  893.            while 1
  894.             if must=1 then break
  895.             if int(rnd()*5)=3 then break
  896.             h1=ati(hika,0)-1:h2=ati(hika,1)-1
  897.             for CP=0 to 4
  898.                 h3=h3+hz(en(h1),CP):h3=h3+hz(en(h2),CP)
  899.                 next
  900.             h1=ati(hika2,0)-1:h2=ati(hika2,1)-1
  901.             for CP=0 to 4
  902.                 h4=h4+hz(en(h1),CP):h4=h4+hz(en(h2),CP)
  903.                 next
  904.             if abs(h3-h4)>12 then {
  905.                if h3<h4 then ram=hika else ram=hika2 
  906.                if rnd()*20>18 then kk=klim
  907.                break
  908.                }
  909.             if rnd()*6>2 then ram=hika:break
  910.             if rnd()*3>1 then {
  911.                if h3<h4 then ram=hika else ram=hika2
  912.                break
  913.                }
  914.             h3=0:h4=0
  915.             h1=ati(hika,0)-1:h2=ati(hika,1)-1
  916.             h3=spd(h1)+spd(h2)
  917.             h1=ati(hika2,0)-1:h2=ati(hika2,1)-1
  918.             h4=spd(h1)+spd(h2)
  919.             if h3>h4 then ram=hika else ram=hika2 
  920.             if mck>99 then if rnd()*12<2 then ram=rnd()*6:if ad(en(ram))=3 then ram=rnd()*6
  921.             break
  922.             endwhile
  923.            if kk>klim then kk=klim
  924.            if kk>mck then kk=mck
  925.            mck=mck-kk
  926.            klim=klim-kk
  927.            ki(pn,kn,0)=ram
  928.            ki(pn,kn,1)=ki(pn,kn,1)+kk
  929.            kn=kn+1
  930.            break
  931.     case 5:/* Alice
  932.            while 1
  933.             for CP=0 to 5
  934.                 if h1=0 then if en(CP)=45 then ram=CP:must=1:h1=1:break
  935.                 if h2=0 then if en(CP)=50 then {
  936.                    if must=1 then if rnd()*4<2 then break
  937.                    ram=CP:must=1:h2=1:break
  938.                    }
  939.                 if hg(en(CP))=12 then if rnd()*4<1 then ram=CP:must=1:break
  940.                 next
  941.             if int(rnd()*12)=4 then must=0
  942.             kk=2:if tmo=1 then kk=6
  943.             if tmo=2 then kk=4
  944.             if rnd()*6<1 then kk=1
  945.             if must=0 then {
  946.                ram=rnd()*6
  947.                if ad(en(ram))=3 then if rnd()*5>2 then ram=rnd()*6
  948.                if ad(en(ram))=1 then if rnd()*6>3 then kk=kk+3
  949.                if tmo=3 then if mck>2 then kk=3 else kk=mck
  950.                }
  951.             if kk>klim then kk=klim
  952.             if kk>mck then kk=mck
  953.             mck=mck-kk
  954.             klim=klim-kk
  955.             ki(pn,kn,0)=ram
  956.             ki(pn,kn,1)=ki(pn,kn,1)+kk
  957.             kn=kn+1
  958.             if klim=0 then break
  959.             if kn=3 then break   
  960.             if kn=1 then if rnd()*3>1 then continue
  961.             if rnd()*5<3 then break
  962.             endwhile
  963.            break
  964.     case 6:/* David
  965.            for CP=6 to 20
  966.                if odds(CP)<hikap then hika=CP:hikap=odds(CP):continue
  967.                if odds(CP)=hikap then {
  968.                   if rnd()*3<2 then {
  969.                      if hikap2>hikap+rnd()*5 then hika2=hika:hikap2=hikap:hika=CP:hikap=odds(CP):continue
  970.                      hika=CP:hikap=odds(CP):continue
  971.                      }
  972.                   if rnd()*5>3 then hika2=CP:hikap2=odds(CP):continue
  973.                   }
  974.                next
  975.            if odds(hika)<4 then kk=5 else kk=3
  976.            if int(rnd()*8)=0 then kk=kk+rnd()*3
  977.            ram=hika
  978.            if kk>klim then kk=klim
  979.            if kk>mck then kk=mck
  980.            mck=mck-kk
  981.            klim=klim-kk
  982.            ki(pn,kn,0)=ram
  983.            ki(pn,kn,1)=ki(pn,kn,1)+kk
  984.            kn=kn+1
  985.            if klim=0 then break
  986.            kk=2
  987.            ram=hika2
  988.            if rnd()*7<2 then ram=rnd()*6:if rnd()*3<1 then ram=rnd()*21
  989.            if kk>klim then kk=klim
  990.            if kk>mck then kk=mck
  991.            mck=mck-kk
  992.            klim=klim-kk
  993.            ki(pn,kn,0)=ram
  994.            ki(pn,kn,1)=ki(pn,kn,1)+kk
  995.            kn=kn+1
  996.            break
  997.     case 7:/* Arthur
  998.            while 1
  999.              kk=3:if kn=1 then kk=1
  1000.              if kn>1 then kk=1
  1001.              ram=rnd()*6
  1002.              if ad(en(ram))=4 then continue
  1003.              if ad(en(ram))=3 then if rnd()*5>2 then continue
  1004.              if ad(en(ram))=1 then kk=kk*2
  1005.              if tmo=1 then if int(rnd()*12)=0 then kk=10+rnd()*3*4
  1006.              if tmo=3 then if mck>2 then kk=3 else kk=mck
  1007.              if kk>klim then kk=klim
  1008.              if int(rnd()*20)=0 then ram=rnd()*21:kk=2
  1009.              if kk>mck then kk=mck
  1010.              mck=mck-kk
  1011.              klim=klim-kk
  1012.              ki(pn,kn,0)=ram
  1013.              ki(pn,kn,1)=ki(pn,kn,1)+kk
  1014.              kn=kn+1
  1015.              if tmo=3 then break
  1016.              if klim=0 then break
  1017.              if mck=0 then break
  1018.              if kn=3 then break
  1019.              if int(rnd()*6)<2 then break
  1020.              endwhile
  1021.            break
  1022.     case 8:/* Niel
  1023.            for CP=0 to 5
  1024.                if hkt(CP)=1 then continue
  1025.                if en(CP)=47 then ram=CP:must=1:hkt(CP)=1
  1026.                if hg(CP)=13 then ram=CP:must=1:hkt(CP)=1
  1027.                if hg(CP)=7  then ram=CP:must=1:hkt(CP)=1
  1028.                next
  1029.            kk=3:if must=0 then ram=rnd()*6
  1030.            if rnd()*365<12 then kk=klim/2
  1031.            if kk>klim then kk=klim
  1032.            if kk>mck then kk=mck
  1033.            mck=mck-kk
  1034.            klim=klim-kk
  1035.            ki(pn,kn,0)=ram
  1036.            ki(pn,kn,1)=ki(pn,kn,1)+kk
  1037.            kn=kn+1
  1038.            if klim=0 then break
  1039.            if rnd()*10>3 then break
  1040.            kk=rnd()*3+1:ram=rnd()*21
  1041.            if kk>klim then kk=klim
  1042.            if kk>mck then kk=mck
  1043.            mck=mck-kk
  1044.            klim=klim-kk
  1045.            ki(pn,kn,0)=ram
  1046.            ki(pn,kn,1)=ki(pn,kn,1)+kk
  1047.            kn=kn+1
  1048.            if klim=0 then break
  1049.            if rnd()*10>3 then break
  1050.            while 1
  1051.             ram=rnd()*15+6
  1052.             if rnd()*3>1 then break
  1053.             if odds(ram)>19 then continue
  1054.             break
  1055.             endwhile
  1056.            kk=2
  1057.            if kk>klim then kk=klim
  1058.            if kk>mck then kk=mck
  1059.            mck=mck-kk
  1060.            klim=klim-kk
  1061.            ki(pn,kn,0)=ram
  1062.            ki(pn,kn,1)=ki(pn,kn,1)+kk
  1063.            kn=kn+1
  1064.            break
  1065.     case 9:/* Frank
  1066.            while 1
  1067.              kk=2+rnd()*3
  1068.              ram=rnd()*6
  1069.              if ad(en(ram))=4 then if rnd()*5>0 then continue
  1070.              if ad(en(ram))=3 then if rnd()*5>2 then continue
  1071.              if ad(en(ram))=1 then if rnd()*6>5 then kk=kk+5
  1072.              if tmo=1 then if int(rnd()*12)=0 then kk=10+rnd()*2*5
  1073.              if tmo=3 then if mck>2 then kk=1 else kk=mck
  1074.              if kk>klim then kk=klim
  1075.              if int(rnd()*10)=0 then ram=rnd()*21
  1076.              if kk>mck then kk=mck
  1077.              mck=mck-kk
  1078.              klim=klim-kk
  1079.              ki(pn,kn,0)=ram
  1080.              ki(pn,kn,1)=ki(pn,kn,1)+kk
  1081.              kn=kn+1
  1082.              if tmo=3 then break
  1083.              if klim=0 then break
  1084.              if mck=0 then break
  1085.              if kn>2 then break
  1086.              if int(rnd()*3)<2 then break
  1087.              endwhile
  1088.            break
  1089.     endswitch
  1090.   return(kn)       
  1091.   endfunc
  1092.  
  1093.  
  1094.  
  1095.  func bet()
  1096.  
  1097.   dim int mati(6),page(6),curs(6),kam(6),hmv(5),hmm(5)
  1098.   str as
  1099.   int CP,LC,nnn,stic1,stri1,stic2,stri2,times,scren,benum,in,inc,nex
  1100.   int tam,mvc,stb
  1101.   dim char mc_s(6),hyhers(6)
  1102.   char mcomp,req
  1103.   for CP=0 to 6
  1104.       if join(CP)=2 then if coin(CP)>peak(ccp(CP)) then peak(ccp(CP))=coin(CP)
  1105.       if join(CP)=1 then if CP=captain then if coin(CP)>peak(10) then peak(10)=coin(CP)
  1106.       ki(CP,0,1)=0:ki(CP,1,1)=0:ki(CP,2,1)=0:ki(CP,3,1)=0:ki(CP,4,1)=0:ki(CP,5,1)=0
  1107.       mc_s(CP)=0
  1108.       if join(CP)=2 then mc_s(CP)=think(CP,ccp(CP),coin(CP))
  1109.       pay(CP)=0
  1110.       win(CP)=0
  1111.       b_num(CP)=0
  1112.       for LC=0 to 21
  1113.           b_coin(CP,LC)=0
  1114.           next
  1115.       next
  1116.   times=15400
  1117.   for in=4 to 6
  1118.       if join(in)=2 then continue
  1119.       if join(in)=0 then continue
  1120.       bar(in,0,0)
  1121.       next
  1122.   while 1
  1123.    if keysns()=0 then break
  1124.    as=inkey$(0)
  1125.    endwhile
  1126.   color 7:pw()
  1127.   while 1
  1128.    in=0:inc=0
  1129.    while 1
  1130.      times=times-1
  1131.  
  1132.      for CP=0 to 6
  1133.          if join(CP)>0 then continue
  1134.          if join_red(CP)>0 then {
  1135.             join_red(CP)=join_red(CP)-1
  1136.             if join_red(CP)=0 then {
  1137.                join(CP)=2
  1138.                coin(CP)=50:peak(ccp(CP))=50
  1139.                if enc(CP)<255 then enc(ccp(CP))=enc(ccp(CP))+1
  1140.                mc_s(CP)=think(CP,ccp(CP),coin(CP))
  1141.                if rnd()*3>1 then get(ccp(CP)*82,512,ccp(CP)*82+81,601,gm) else get(ccp(CP)*82,602,ccp(CP)*82+81,691,gm)
  1142.                put(CP*13*8+2,371,CP*13*8+83,460,gm)
  1143.                color 7:pw2(CP):pen(CP*13+2,31,cn$(ccp(CP)))
  1144.                }
  1145.             }
  1146.          next
  1147.  
  1148.      tam=times
  1149.      if tam mod 50=0 then if mvc=0 then {
  1150.         while 1 
  1151.          CP=rnd()*6
  1152.          if hmv(CP)=1 then continue
  1153.          break
  1154.          endwhile
  1155.         hmm(CP)=hmm(CP)+1
  1156.         color 3
  1157.         switch mvc
  1158.           case 0:if hmm(CP)>6 then hmm(CP)=6:hmv(CP)=1:stb=stb+1:if stb=6 then stb=0:mvc=1:hmv(0)=0:hmv(1)=0:hmv(2)=0:hmv(3)=0:hmv(4)=0:hmv(5)=0
  1159.                  if hmm(CP)=1 then pen(16,9+CP*2,mid$(graph(CP),1,1)+g4+g3+mid$(graph(CP),12,1))
  1160.                  if hmm(CP)=2 then pen(15,9+CP*2,mid$(graph(CP),1,2)+g4+g4+g3+mid$(graph(CP),12,2))
  1161.                  if hmm(CP)=3 then pen(14,9+CP*2,mid$(graph(CP),1,3)+g4+g4+g4+g3+mid$(graph(CP),12,3))
  1162.                  if hmm(CP)=4 then pen(13,9+CP*2,mid$(graph(CP),1,4)+g4+g4+g4+g4+g3+mid$(graph(CP),12,4))
  1163.                  if hmm(CP)>4 then pen(12,9+CP*2,mid$(graph(CP),1,5)+g4+g4+g4+g4+g4+g3+mid$(graph(CP),12,5))
  1164.                  break
  1165.           endswitch
  1166.         }
  1167.      if times-5000<0 then in=9:break
  1168.      color 7:if times-5000<1800 then if atoi(right$(str$(times),2))>72 then color 6
  1169.      pen(83,21,sasi((times-5000)/100,3)):color 7
  1170.      switch nex
  1171.        case 0:if mati(6)=0 then {
  1172.               as=inkey$(0)
  1173.               if as<>"" then {
  1174.                  for CP=0 to 2
  1175.                      if inkey$(0)="" then break
  1176.                      next
  1177.                  in=6:nex=1:mati(6)=18
  1178.                  if as=" " then inc=11
  1179.                  if as=chr$(30) then inc=1
  1180.                  if as=chr$(28) then inc=2
  1181.                  if as=chr$(31) then inc=3
  1182.                  if as=chr$(29) then inc=4
  1183.                  if as=chr$(&h1b) then inc=9
  1184.                  if as=chr$(13) then inc=8
  1185.                  if as="0" then inc=9
  1186.                  if as="H" then inc=7
  1187.                  if as="h" then inc=7
  1188.                  if as=chr$(11) then inc=5
  1189.                  break
  1190.                  }
  1191.               }
  1192.               if mati(6)>0 then mati(6)=mati(6)-1
  1193.        case 1:if mati(5)=0 then {
  1194.               stic1=stick(1)
  1195.               stri1=strig(1)
  1196.               if stic1>0 or stri1>0 then {
  1197.                  in=5:nex=2:mati(5)=18
  1198.                  if stic1=6 then inc=2
  1199.                  if stic1=4 then inc=4
  1200.                  if stri1=1 then inc=11 
  1201.                  if stri1=2 then inc=2 
  1202.                  if stic1=8 then inc=1 
  1203.                  if stic1=2 then inc=3 
  1204.                  break
  1205.                  }
  1206.               }
  1207.               if mati(5)>0 then mati(5)=mati(5)-1
  1208.        case 2:if mati(4)=0 then {
  1209.               stic2=stick(2)
  1210.               stri2=strig(2)
  1211.               if stic2>0 or stri2>0 then {
  1212.                  in=4:nex=0:mati(4)=18
  1213.                  if stic2=6 then inc=2
  1214.                  if stic2=4 then inc=4
  1215.                  if stri2=1 then inc=11 
  1216.                  if stri2=2 then inc=2 
  1217.                  if stic2=8 then inc=1 
  1218.                  if stic2=2 then inc=3 
  1219.                  break
  1220.                  }
  1221.               }
  1222.               if mati(4)>0 then mati(4)=mati(4)-1
  1223.               
  1224.        endswitch
  1225.        if in>0 then break
  1226.        nex=0
  1227.        tam=times
  1228.        if times=15220 then {
  1229.           color 7
  1230.           for CP=0 to 6
  1231.               if join(CP)=2 then pen(CP*13+2,31,cn$(ccp(CP)))
  1232.               if join(CP)=1 then {
  1233.                  if captain=CP then pen(CP*13+2,31,"CAPTAIN") else pen(CP*13+2,31,"OUTSIDER")
  1234.                  }
  1235.               next
  1236.           color 3
  1237.           }
  1238.        if tam mod 22=0 then if times+(rnd()*10*320)<14920 then {
  1239.           mcomp=mcomp+1
  1240.           if mcomp=7 then mcomp=0
  1241.           if hyhers(mcomp)=0 then if join(mcomp)=2 then if mc_s(mcomp)>0 then {
  1242.              for CP=0 to 5      
  1243.                  if ki(mcomp,CP,1)>0 then {
  1244.                     if hyher>0 then ki(mcomp,CP,1)=1:mc_s(mcomp)=1
  1245.                     if CP=0 then {
  1246.                        get(ccp(mcomp)*82,512,ccp(mcomp)*82+81,601,gm)
  1247.                        put(mcomp*13*8+2,371,mcomp*13*8+83,460,gm)
  1248.                        }
  1249.                     b_coin(mcomp,ki(mcomp,CP,0))=b_coin(mcomp,ki(mcomp,CP,0))+ki(mcomp,CP,1)
  1250.                     coin(mcomp)=coin(mcomp)-ki(mcomp,CP,1)
  1251.                     ki(mcomp,CP,1)=0
  1252.                     mc_s(mcomp)=mc_s(mcomp)-1
  1253.                     in=mcomp:inc=0
  1254.                     scren=3
  1255.                     if hyher>0 then hyhers(mcomp)=1
  1256.                     break
  1257.                     }
  1258.                  next
  1259.              if scren=3 then break
  1260.              }
  1261.           }
  1262.        
  1263.      endwhile
  1264.    if in=9 then {
  1265.       while 1
  1266.        if keysns()=0 then break
  1267.        as=inkey$(0)
  1268.        endwhile
  1269.       color 10:pw3()
  1270.       return()
  1271.       }
  1272.    if scren=3 then scren=2 else scren=0
  1273.    if join(in)=0 then if inc=11 then {
  1274.       join(in)=1:coin(in)=50:color 7:pw2(in):scren=1:inc=0
  1275.       if player=0 then {
  1276.          captain=in
  1277.          if cap_enc<255 then cap_enc=cap_enc+1
  1278.          pen(in*13+2,31,"CAPTAIN")
  1279.          peak(10)=50
  1280.          }
  1281.       if player>0 then {
  1282.          pen(in*13+2,31,"OUTSIDER")
  1283.          }
  1284.       player=player+1
  1285.       }
  1286.    if inc=9 then times=55
  1287.    if inc=5 then {
  1288.       wait(4)
  1289.       color 3
  1290.       for CP=0 to 6
  1291.           fill(CP*13*8+2,371,CP*13*8+83,460,0)
  1292.           next
  1293.       penbox(0,22,95,31)
  1294.       wait(8):pen(35,24,"競技場を出ます。よろしいですか?")
  1295.       wait(8):nnn=yen(48,25):color 3:pen(35,24,space$(32))
  1296.               if nnn=1 then {
  1297.                  color 7:pw()
  1298.                  for CP=0 to 6
  1299.                      if join(CP)=0 then color 3:pen(CP*13+2,29,"GAMEOVER"):continue
  1300.                      color 7
  1301.                      if join(CP)=2 then {
  1302.                         pen(CP*13+2,31,cn$(ccp(CP)))
  1303.                         get(ccp(CP)*82,602,ccp(CP)*82+81,691,gm)
  1304.                         put(CP*13*8+2,371,CP*13*8+83,460,gm)
  1305.                         }
  1306.                      LC=0
  1307.                      for nnn=0 to 21
  1308.                          if b_coin(CP,nnn)>0 then {
  1309.                             color 9:pen(CP*13+4,22+LC,bt$(nnn))
  1310.                             color 3:pen(CP*13+7,22+LC,":")
  1311.                             color 5:pen(CP*13+8,22+LC,sasi(b_coin(CP,nnn),2))
  1312.                             LC=LC+1
  1313.                             }
  1314.                          next
  1315.                      if join(CP)=1 then bar(CP,page(CP),curs(CP))
  1316.                      next
  1317.                  continue
  1318.                  }
  1319.       leave()
  1320.       seisan()
  1321.       camp()
  1322.       v_out=1
  1323.       break
  1324.       }
  1325.  
  1326.    if inc=7 then {
  1327.       color 10
  1328.       switch bos
  1329.         case 0:bos=15
  1330.                pen(20,0,"(boost 1)")
  1331.                break
  1332.         case 15:bos=30
  1333.                pen(20,0,"(boost 2)")
  1334.                break
  1335.         case 30:bos=0
  1336.               pen(20,0,"         ")
  1337.               break
  1338.         endswitch
  1339.       color 3
  1340.       }
  1341.    if inc=8 then if req=0 then {
  1342.       for CP=0 to 6
  1343.           if join(CP)>0 then continue
  1344.           if join_red(CP)>0 then continue
  1345.           LC=rnd()*10
  1346.           if CPU_en(LC)=1 then continue /* break にすると必ず左からエントリー
  1347.           join_red(CP)=50
  1348.           ccp(CP)=LC
  1349.           CPU_en(LC)=1
  1350.           req=1
  1351.           break
  1352.           next
  1353.       }
  1354.    if join(in)=0 then continue
  1355.    if join(in)=1 then if hyhers(in)=1 then continue
  1356.    if inc>0 then if join(in)=2 then continue
  1357.    if inc=2 then page(in)=page(in)+1:scren=1:if page(in)=4 then page(in)=0
  1358.    if inc=4 then page(in)=page(in)-1:scren=1:if page(in)=-1 then page(in)=3
  1359.    if inc=1 then if curs(in)>0 then curs(in)=curs(in)-1:scren=1
  1360.    if inc=3 then if curs(in)<5 then curs(in)=curs(in)+1:scren=1
  1361.    if inc=11 then if coin(in)>0 then if kam(in)<30 then {
  1362.       benum=99
  1363.       benum=page(in)*5+curs(in)+1
  1364.       if page(in)=0 then benum=curs(in)
  1365.       if curs(in)=5 then if page(in)>0 then benum=99
  1366.       if benum<99 then if b_coin(in,benum)=0 then {
  1367.          if b_num(in)=6 then benum=99 else b_num(in)=b_num(in)+1
  1368.          if hyher>0 then hyhers(in)=1
  1369.          }
  1370.       if benum<99 then if b_coin(in,benum)<30 then {
  1371.          scren=2
  1372.          b_coin(in,benum)=b_coin(in,benum)+1
  1373.          coin(in)=coin(in)-1
  1374.          kam(in)=kam(in)+1
  1375.          }
  1376.       }
  1377.    if scren=1 then bar(in,page(in),curs(in))
  1378.    if scren=2 then {
  1379.       LC=0
  1380.       color 7
  1381.       for CP=0 to 21
  1382.           if b_coin(in,CP)>0 then {
  1383.              color 9:pen(in*13+4,22+LC,bt$(CP))
  1384.              color 3:pen(in*13+7,22+LC,":")
  1385.              color 5:pen(in*13+8,22+LC,sasi(b_coin(in,CP),2))
  1386.              LC=LC+1
  1387.              }
  1388.           next
  1389.       color 5
  1390.       pen(in*13+6,29,sasi(coin(in),4))
  1391.       }
  1392.    endwhile
  1393.  endfunc
  1394.  
  1395.  
  1396.  
  1397.  func bar(a,b,c)
  1398.  
  1399.   int Lu
  1400.   color 10
  1401.   for Lu=0 to 5
  1402.       if Lu=c then color 9
  1403.       if Lu=5 then if b>0 then pen(a*13,27,"   "):color 10:continue
  1404.       switch b
  1405.         case 0:pen(a*13,22+Lu,bt$(Lu)):break
  1406.         case 1:pen(a*13,22+Lu,bt$(Lu+6)):break
  1407.         case 2:pen(a*13,22+Lu,bt$(Lu+11)):break
  1408.         case 3:pen(a*13,22+Lu,bt$(Lu+16)):break
  1409.         endswitch
  1410.       color 10
  1411.       next
  1412.   endfunc
  1413.  
  1414.  
  1415.  
  1416.  func betc()
  1417.  
  1418.   int ZZ
  1419.   color 3
  1420.   for ZZ=0 to 6
  1421.       penbox(ZZ*13,22,ZZ*13+11,27)
  1422.       next
  1423.   endfunc
  1424.  
  1425.  
  1426.  func pw()
  1427.  
  1428.   int CC
  1429.   for CC=0 to 6
  1430.       if join(CC)=0 then continue
  1431.       if join(CC)=3 then continue
  1432.       penbox(CC*13,28,CC*13+10,30)
  1433.       if coin(CC)>9999 then pen(CC*13,29," coin:"+str$(coin(CC))):continue
  1434.       pen(CC*13,29," coin:"+sasi(coin(CC),4))
  1435.       next
  1436.   endfunc
  1437.  
  1438.  
  1439.  func pw3()
  1440.  
  1441.   int CC
  1442.   for CC=0 to 6
  1443.       if join(CC)=0 then continue
  1444.       penbox(CC*13,29,CC*13+10,29)
  1445.       if coin(CC)>9999 then pen(CC*13,29," coin:"+str$(coin(CC))):continue
  1446.       pen(CC*13,29," coin:"+sasi(coin(CC),4))
  1447.       next
  1448.   endfunc
  1449.  
  1450.  
  1451.  
  1452.  func pw2(CC)
  1453.  
  1454.   if join(CC)=0 then return()
  1455.   penbox(CC*13,28,CC*13+10,30)
  1456.   if coin(CC)>9999 then pen(CC*13,29," coin:"+str$(coin(CC))):return()
  1457.   pen(CC*13,29," coin:"+sasi(coin(CC),4))
  1458.   endfunc
  1459.  
  1460.  
  1461.  
  1462.  func ww(n)
  1463.  
  1464.   color 11
  1465.   pen(n*13,31,"WINNER +   "):pen(n*13+8,31,str$(win(n)))
  1466.   color 3
  1467.   endfunc
  1468.  
  1469.  
  1470.  
  1471.  func leave()
  1472.  
  1473.    int LC,CP
  1474.    while 1
  1475.     LC=rnd()*7
  1476.     if join(LC)=2 then break
  1477.     for CP=LC to 6
  1478.         if join(CP)=2 then LC=CP:break
  1479.         next
  1480.     if join(LC)=2 then break
  1481.     for CP=1 to 6
  1482.         if LC-CP<0 then break
  1483.         if join(LC-CP)=2 then LC=LC-CP:break
  1484.         next
  1485.     break    
  1486.     endwhile
  1487.    if join(LC)=2 then {
  1488.       CP=0
  1489.       if coin(LC)>220 then CP=2
  1490.       if coin(LC)<68 then CP=1
  1491.       if coin(LC)<18 then CP=3
  1492.       if CP=3 then get(ccp(LC)*82,602,ccp(LC)*82+81,691,gm) else get(ccp(LC)*82,512,ccp(LC)*82+81,601,gm)
  1493.       put(210,361,291,450,gm):wait(8)
  1494.       color 7:pen(40,25,cn$(ccp(LC))+":"):wait(25)
  1495.       pen(40,26,come(ccp(LC),CP))
  1496.       comet=len(come(ccp(LC),CP))
  1497.       wait(6):color 5:pen(28,29,"coin:"+str$(coin(LC)))
  1498.       color 3:pen(40+comet,27,"△")
  1499.       TX=40+comet:TY=27:TT=1:hitany():wait(7)
  1500.       penbox(40,25,90,27)
  1501.       pen(28,29,space$(20))
  1502.       fill(210,361,291,450,0)
  1503.       }
  1504.    for CP=0 to 20
  1505.        v_disp()
  1506.        color 10:pen(0,CP+1,space$(96))
  1507.        color 3:pen(0,CP,space$(96))
  1508.        next
  1509.   endfunc
  1510.  
  1511.  
  1512.  
  1513.  func int yen(yx,yy)
  1514.  
  1515.   int yi,yc
  1516.   color 7
  1517.   pen(yx,yy,"((     /       ))")
  1518.   while 1
  1519.    color 5:if yc=1 then color 6
  1520.    pen(yx+3,yy,"はい")
  1521.    color 5:if yc=0 then color 6
  1522.    pen(yx+9,yy,"いいえ")
  1523.    hitany()
  1524.    if as=chr$(29) then yc=0
  1525.    if as=chr$(28) then yc=1
  1526.    if as="4" then yc=0
  1527.    if as="6" then yc=1
  1528.    if as="5" then break
  1529.    if as=" " then break
  1530.    endwhile
  1531.   if yc=0 then pf(yx+3,yy,"はい",5,6) else pf(yx+9,yy,"いいえ",5,6)
  1532.   color 3:pen(yx,yy,space$(18))
  1533.   return(yc)
  1534.   endfunc
  1535.  
  1536.  
  1537.  
  1538.  func seisan()
  1539.  
  1540.   int LS,LP,LN,addp,ap,xx
  1541.   char nn,na,hn
  1542.   dim char cio(10)
  1543.   dim int coyn(10),cost(10)
  1544.   str m$,mm$
  1545.   m$=str$(gold)
  1546.   m$=space$(9-len(m$))+m$
  1547.   color[,,,0]
  1548.   color 7
  1549.   for LS=1 to 9
  1550.       if mid$(m$,LS,1)=" " then continue
  1551.       xx=atoi(mid$(m$,LS,1))
  1552.       for LN=0 to 4
  1553.           pen(LS*9+5,24+LN,np(ng(xx,LN)))
  1554.           next
  1555.       next
  1556.   for LS=1 to 31
  1557.       wait(0)
  1558.       color[,,,rgb(LS,LS,LS)]
  1559.       next
  1560.   wait(20)
  1561.   pen(35,0,"TODAY'S  RESULT")
  1562.   wait(25)
  1563.   for LS=0 to 9
  1564.       for LP=0 to 6
  1565.           if join(LP)=2 then if ccp(LP)=LS then coyn(LS)=coyn(LS)+coin(LP)
  1566.           next
  1567.       cost(LS)=enc(LS)*50+2
  1568.       if enc(LS)=0 then cio(LS)=1
  1569.       next
  1570.   cio(10)=1
  1571.   if cap_enc>0 then {
  1572.      for LP=4 to 6
  1573.          if LP=captain then coyn(10)=coyn(10)+coin(LP):cost(10)=cap_enc*50+2
  1574.          next
  1575.      cio(10)=0
  1576.      }
  1577.   color 5:pen(29,2," name     outlay   gain  (peak)  result ")
  1578.   color 7
  1579.   while 1
  1580.    ap=-9999
  1581.    na=0
  1582.    for LS=0 to 10
  1583.        if cio(LS)=1 then na=na+1
  1584.        next
  1585.    if na=11 then break
  1586.    for LS=0 to 10
  1587.        if cio(LS)=1 then continue
  1588.        if coyn(LS)-cost(LS)>ap then hn=LS:ap=coyn(LS)-cost(LS)
  1589.        next
  1590.    cio(hn)=1
  1591.    if hn=10 then {
  1592.       pen(30,3+nn,"CAPTAIN")
  1593.       pen(41,3+nn,sasi(cap_enc*50+2,4))
  1594.       pen(47,3+nn,sasi(coyn(10),5))
  1595.       pen(54,3+nn,sasi(peak(10),5))
  1596.       coyn(10)=coyn(10)-cost(10)
  1597.       pen(62,3+nn,sasi(coyn(10),5))
  1598.       }
  1599.    if hn<10 then {
  1600.       pen(30,3+nn,cn$(hn))
  1601.       pen(41,3+nn,sasi(enc(hn)*50+2,4))
  1602.       pen(47,3+nn,sasi(coyn(hn),5))
  1603.       pen(54,3+nn,sasi(peak(hn),5))
  1604.       coyn(hn)=coyn(hn)-cost(hn)
  1605.       pen(62,3+nn,sasi(coyn(hn),5))
  1606.       }
  1607.    nn=nn+1
  1608.    wait(2)
  1609.    endwhile
  1610.   color 5:pen(48,3+nn,"Round Bonus:      0")
  1611.   color 7:if race>4 then pen(62,3+nn,sasi(race,5)):addp=race
  1612.   for LS=0 to 10
  1613.       addp=addp+coyn(LS)
  1614.       next
  1615.   wait(37)
  1616.   xx=((9-len(str$(abs(addp))))*9+5)*8
  1617.   if addp<0 then fill(xx,272,xx+47,287,10)
  1618.   if addp>0 then fill(xx,272,xx+47,287,7):fill(xx+16,256,xx+32,303,7)
  1619.   mm$=str$(abs(addp))
  1620.   mm$=space$(9-len(mm$))+mm$
  1621.   color 7
  1622.   for LS=1 to 9
  1623.       if mid$(mm$,LS,1)=" " then continue
  1624.       xx=atoi(mid$(mm$,LS,1))
  1625.       for LN=0 to 4
  1626.           pen(LS*9+5,15+LN,np(ng(xx,LN)))
  1627.           next
  1628.       next
  1629.   gold=gold+addp
  1630.   if gold<0 then gold=0
  1631.   mm$=str$(gold)
  1632.   mm$=space$(9-len(mm$))+mm$
  1633.   if addp<>0 then wait(35)
  1634.   for LS=1 to 9
  1635.       if mid$(m$,LS,1)=mid$(mm$,LS,1) then continue
  1636.       if mid$(m$,LS,1)<>" " then {
  1637.          xx=atoi(mid$(m$,LS,1))
  1638.          for LP=0 to 4
  1639.              pen(LS*9+5,24+LP,"        ")
  1640.              if LP=4 then break
  1641.              for LN=0 to 3-LP
  1642.                  pen(LS*9+5,25+LP+LN,np(ng(xx,LN)))
  1643.                  next
  1644.              wait(0)
  1645.              next
  1646.          }
  1647.       xx=atoi(mid$(mm$,LS,1))
  1648.       for LP=0 to 4
  1649.           for LN=0 to LP
  1650.               pen(LS*9+5,28-LP+LN,np(ng(xx,LN)))
  1651.               next
  1652.           wait(1)
  1653.           next
  1654.       next
  1655.   wait(5)
  1656.   pen(83,21,"HITanyKEY")
  1657.   color 5:pen(80,21,"△"):pen(93,21,"△")
  1658.   TT=1:TX=93:TY=21:hitany()
  1659.   color 10:pen(80,21,space$(16))
  1660.   color 3
  1661.   xx=((9-len(str$(abs(addp))))*9+5)*8
  1662.   fill(xx,256,xx+47,303,0)
  1663.   penbox(50,15,96,19)
  1664.   penbox(30,0,70,14)
  1665.   for LS=0 to 31
  1666.       color[,,,rgb(31-LS,31-LS,31-LS)]
  1667.       wait(0)
  1668.       next
  1669.   penbox(0,24,96,28)
  1670.   color[,,,65535]
  1671.   for LP=0 to 9
  1672.       CPU_en(LP)=0
  1673.       enc(LP)=0
  1674.       peak(LP)=0
  1675.       next
  1676.   for LP=0 to 6
  1677.       coin(LP)=0
  1678.       join(LP)=0
  1679.       ccp(LP)=0
  1680.       join_red(LP)=0
  1681.       next
  1682.   race=0
  1683.   captain=0:cap_enc=0
  1684.  
  1685.   endfunc
  1686.  
  1687.  
  1688.  
  1689.  func rec(n1,n2)
  1690.  
  1691.   int zp
  1692.   for zp=0 to 4
  1693.    if hz(n1,zp)=0 then hz(n1,zp)=n2:break
  1694.    if zp=4 then {
  1695.       for zp=0 to 3
  1696.           hz(n1,zp)=hz(n1,zp+1)
  1697.           next
  1698.       hz(n1,4)=n2:break
  1699.       }
  1700.    next
  1701.   endfunc
  1702.  
  1703.  
  1704.  
  1705.  func int cam(n)     /* MENUpackage for DockCamp
  1706.  
  1707.   int C
  1708.    while 1
  1709.    hitany()
  1710.    if as=chr$(30) or as="8" then if C>0 then {
  1711.       fill(48,C*16+384,280,C*16+399,0)
  1712.       C=C-1
  1713.       fill(48,C*16+384,280,C*16+399,8)
  1714.       }
  1715.    if as=chr$(31) or as="2" then if C<n then {
  1716.       fill(48,C*16+384,280,C*16+399,0)
  1717.       C=C+1
  1718.       fill(48,C*16+384,280,C*16+399,8)
  1719.       }
  1720.    if as=" " or as="5" then wait(3):break
  1721.    endwhile
  1722.    return(C)
  1723.   endfunc
  1724.  
  1725.  
  1726.  
  1727.  func coindisp()
  1728.  
  1729.   pen(1,21,"coin:         ")
  1730.   pen(7,21,str$(gold))
  1731.   endfunc
  1732.  
  1733.  
  1734.  
  1735.  func tokhit()         /* tok()後 入力待ち
  1736.  
  1737.   TX=71:TY=29:TT=2:hitany()
  1738.   endfunc
  1739.  
  1740.  
  1741.  
  1742.  func selec_t(t;char)
  1743.  
  1744.   if t=0 then {
  1745.      symbol(18,420,"SELECT",1,1,0,3,0)
  1746.      symbol(19,420,"SELECT",1,1,0,3,0)
  1747.      } else {
  1748.      symbol(18,420,"SELECT",1,1,0,0,0)
  1749.      symbol(19,420,"SELECT",1,1,0,0,0)
  1750.      }
  1751.   endfunc
  1752.  
  1753.  
  1754.  
  1755.  func int selec()
  1756.  
  1757.   int L,N,M,C
  1758.   dim char RB(9)={10,10,10,10,10,10,10,10,10,10}
  1759.   color 3:pen(13,24,"(          )")
  1760.   for L=0 to 9
  1761.       color 6
  1762.       if busy(L)=0 then color 5:box(M*25+100,415,M*25+123,504,15):line(M*25+101,504,M*25+122,504,0):RB(M)=L:M=M+1
  1763.       pen(14+L,24,RL(L))
  1764.       next
  1765.   color 7
  1766.   for L=0 to 9
  1767.       if RB(L)=10 then break
  1768.       corgs(RB(L)):put(L*25+102,417,L*25+121,503,gm)
  1769.       next
  1770.   selec_t(0)
  1771.   color 7
  1772.   while 1
  1773.    fill(C*25+102,508,C*25+121,510,10)
  1774.    pen(4,27,cn$(C))
  1775.    TT=3:hitany()
  1776.    fill(C*25+102,508,C*25+121,510,0)
  1777.    pen(4,27,space$(len(cn$(C))))
  1778.    if as="4" or as=chr$(29) then if C>0 then C=C-1
  1779.    if as="6" or as=chr$(28) then if C+1<M then C=C+1
  1780.    if as="s" then if busy(0)=0 then N=0: break
  1781.    if as="S" then if busy(1)=0 then N=1: break
  1782.    if as="m" then if busy(2)=0 then N=2: break
  1783.    if as="b" then if busy(3)=0 then N=3: break
  1784.    if as="f" then if busy(4)=0 then N=4: break
  1785.    if as="a" then if busy(5)=0 then N=5: break
  1786.    if as="d" then if busy(6)=0 then N=6: break
  1787.    if as="A" then if busy(7)=0 then N=7: break
  1788.    if as="n" then if busy(8)=0 then N=8: break
  1789.    if as="F" then if busy(9)=0 then N=9: break
  1790.    if as="5" or as=" " then N=RB(C):break
  1791.    endwhile
  1792.   for L=0 to 9
  1793.       if RB(L)=N then C=L:break
  1794.       next
  1795.   for L=0 to 9
  1796.       if C=L then continue
  1797.       fill(L*25+100,415,L*25+123,504,0)
  1798.       next
  1799.   for L=0 to 4
  1800.       fill(C*25+102,508,C*25+121,510,10)
  1801.       wait(3)
  1802.       fill(C*25+102,508,C*25+121,510,0)
  1803.       wait(1)
  1804.       next
  1805.   wait(11)
  1806.   fill(100,415,348,504,0)
  1807.   pen(13,24,"            ")
  1808.   busy(N)=1
  1809.   if M=1 then {
  1810.      for L=0 to 9
  1811.          busy(L)=0
  1812.          next
  1813.      }
  1814.   return(N)  
  1815.   endfunc
  1816.  
  1817.  
  1818.  
  1819.  func corgs(n) /* リボルバーメニュウ用 細長UP画
  1820.  
  1821.   switch n
  1822.     case 0  : get(22,512,41,601,gm):break
  1823.     case 1  : get(119,512,138,601,gm):break
  1824.     case 2  : get(191,512,210,601,gm):break
  1825.     case 3  : get(276,512,295,601,gm):break
  1826.     case 4  : get(359,512,378,601,gm):break
  1827.     case 5  : get(434,512,453,601,gm):break
  1828.     case 6  : get(521,512,540,601,gm):break
  1829.     case 7  : get(607,512,626,601,gm):break
  1830.     case 8  : get(689,512,708,601,gm):break
  1831.     case 9  : get(760,512,779,601,gm):break
  1832.     endswitch
  1833.  
  1834.   endfunc
  1835.  
  1836.  
  1837.  func tremor()    /* ROCTOPUS:振動
  1838.  
  1839.   int L
  1840.   for L=0 to 5
  1841.       v_disp():home(0,0,1022-L*2)
  1842.       next
  1843.   for L=0 to 1
  1844.   wait(1):home(0,3,1015)
  1845.   wait(1):home(0,6,1020)
  1846.   wait(1):home(0,0,1012)
  1847.   wait(1):home(0,1022,1015)
  1848.   next
  1849.   for L=0 to 3
  1850.       wait(1):home(0,0,1016+L*2)
  1851.       next
  1852.   for L=0 to 2
  1853.       wait(1):home(0,0,1021-L)
  1854.       next
  1855.   for L=0 to 2
  1856.       wait(0):home(0,0,1020+L)
  1857.       next
  1858.   for L=0 to 1
  1859.       v_disp():home(0,0,1020)
  1860.       v_disp():home(0,0,1022)
  1861.       next
  1862.   home(0,0,0)
  1863.   endfunc
  1864.  
  1865.  
  1866.  
  1867.  func str sect(n)
  1868.  
  1869.   str R
  1870.   switch n
  1871.     case 0:R="ブリッジ":break
  1872.     case 1:R="機関室":break
  1873.     case 2:R="格納庫":break
  1874.     case 3:R="医務室":break
  1875.     case 4:R="制御管理室":break
  1876.     case 5:R="第4資材室":break
  1877.     case 6:R="食堂":break
  1878.     case 7:R="園芸室":break
  1879.     endswitch
  1880.   return(R)
  1881.   endfunc
  1882.  
  1883.  
  1884.  
  1885.  func int birds()         /* ROCTOPUS : 離床
  1886.  
  1887.   int L,N,Re
  1888.   color 7
  1889.   palet(3,rgb(c_r(11),c_g(11),c_b(11)))
  1890.   awake(0)
  1891.   stars=1
  1892.   if CE=1 or CE=3 or CE=6 then {    /* "TAKEOFF WITH FIREWORKS"
  1893.      pen(1,24,"着火担当")
  1894.      N=selec()
  1895.      pen(1,24,"          ")
  1896.      selec_t(1)
  1897.      crue(N,2):wait(30)
  1898.      if N=2 then crue(8,0) else crue(2,0)
  1899.      color 5:if N=2 then pen(12,26,cn$(8)+":") else pen(12,26,cn$(2)+":")
  1900.      color 7:pen(12,27,MS(N)+"、位置につきました"):wait(7)
  1901.      pen(12,28,itis(CE)+"、点火準備よし")
  1902.      TX=12:TY=29:TT=2:hitany()
  1903.      if N=2 then crue(8,1) else crue(2,1)
  1904.      penbox(12,26,60,29)
  1905.      pen(12,26,"〔"+sect(1)+"・"+cn$(N)+"〕")
  1906.      wait(20)
  1907.      pen(12,27,"点火!")
  1908.      corg(N,1):corp(2):wait(rnd()*3*15+15)
  1909.      pen(12,28,"( ボシュー )")        /*    :Eng(CE)=Eng(CE)-1
  1910.      wait(8):tremor()
  1911.      TX=12:TY=29:TT=2:hitany()
  1912.  
  1913.  
  1914.      corp_c(2):penbox(12,26,60,29)
  1915.      crue(N,1)
  1916.      }
  1917.   if CE=4 then {
  1918.      pen(1,24,"盆栽作成")
  1919.      N=selec()
  1920.      pen(1,24,"        ")
  1921.      selec_t(1)
  1922.      crue(N,2):wait(30)
  1923.      corg(N,1):corp(2)
  1924.      pen(12,26,"〔"+sect(7)+"〕")
  1925.      pen(12,27,MS(N)+"が盆栽に取り組んでいます"):TX=12:TY=28:TT=2:hitany()
  1926.      corp_c(2)
  1927.      penbox(12,26,60,28)
  1928.      wait(15)
  1929.      pen(12,26,"〔"+sect(1)+"〕")
  1930.      wait(5)
  1931.      corg(N,0):corp(2)
  1932.      color 5:pen(12,27,cn$(N)+":"):color 7
  1933.      wait(13)
  1934.      if N=7 then {
  1935.         pen(12,27,"完成したぞい。")
  1936.         } else {
  1937.         switch N
  1938.         case 0:pen(12,28,"できたよ"):break
  1939.         case 2:pen(12,28,"できました"):break
  1940.         case 8:pen(12,28,"アーサー、これでどうでしょう"):break
  1941.         case 5:pen(12,28,"はいこれ、ボンサイ"):break
  1942.         case 3:pen(12,28,"推進材にするのがもったいない逸品です"):break
  1943.         case 4:pen(12,28,"これどうぞ"):break
  1944.         case 1:pen(12,28,"機関長、見てください"):break
  1945.         case 6:pen(12,28,"鉢植えをカットしてきた"):break
  1946.         case 9:pen(12,28,"大胆にアレンジしてあるだろ?"):break
  1947.         endswitch
  1948.         TT=2:TY=29:hitany()
  1949.         corp_c(2)
  1950.         penbox(12,27,60,29)
  1951.         wait(11):corg(7,0):corp(2)
  1952.         color 5:pen(12,27,cn$(7)+":"):color 7
  1953.         pen(12,28,"いったい、なんだコレは?!!")
  1954.         TT=2:hitany()
  1955.         }
  1956.      corg(7,1):corp(2)
  1957.      pen(12,29,"・・・・では、こいつをマルニにかける")
  1958.      TT=2:TY=30:hitany()
  1959.      penbox(12,27,60,30)
  1960.  
  1961.  
  1962.      penbox(12,26,60,30)
  1963.      corp_c(2)
  1964.      crue(N,1)
  1965.      }
  1966.  
  1967.      
  1968.   hitany()
  1969.   return(Re)
  1970.  
  1971.   endfunc
  1972.  
  1973.  
  1974. /* memo
  1975. /*  : ロクトパスの航行ルート  << birds() からの戻り値 >>
  1976. /*                                                                            R
  1977. /*
  1978. /* a)ランダムルート#1 [アイテムなどの条件が入手可能なイベント]             << 0 >>
  1979. /* b)              #2 [ジェネレータ/テーブルによって作成されるお遊び]    << 1 >>
  1980. /* c)ミッション    [本編とは直接無関係な単独シナリオ]                   << 2 >>
  1981. /* d)ステージ         [本編]                                               << 3 >>
  1982. /* e)ステージ         [本編、一度きり]                                     << 4 >>
  1983. /*
  1984. /* z)インターミッション ... 日常的なイベント。大抵はランダム               << 5 >> 他干渉的
  1985. /*
  1986. /* (推進機関との関連)
  1987. /* どこにもたどり着かない/一度だけ特別な場所へ/
  1988. /* 前回と同じルート<=>ランダムを交互に/
  1989. /* 
  1990. /* 
  1991. /* 
  1992. /* 
  1993. /* (イベント発生アルゴリズムについて)
  1994. /* 
  1995. /* 
  1996. /* 
  1997. /* 
  1998.  
  1999.  
  2000.  
  2001.  func minus_driver(rot)    /* ROCTOPUS: voyage main part
  2002.  
  2003.   int L,LL,N,OUT,nn,lim
  2004.   int LPC             /* loop counter
  2005.   int numb
  2006.   int PLAN            /* STAGE
  2007.  
  2008.  
  2009.   lim=5                /* intermission
  2010.   if rot>5 then lim=rot-6    /* 
  2011.  
  2012.   while 1
  2013.  
  2014.   switch lim
  2015.  
  2016.     case  0:/* RANDOM ROUTE
  2017.  
  2018.     
  2019.     break
  2020.  
  2021.     case  2:/* MISSION
  2022.  
  2023.  
  2024. /*     if PLAN=0 then {
  2025.  
  2026.         
  2027.  
  2028.  
  2029.     
  2030.  
  2031.     break
  2032.     
  2033.     case  5:/* INTERMISSION
  2034.     
  2035.     
  2036.     
  2037.     
  2038.     
  2039.     
  2040.     
  2041.     
  2042.     
  2043.     
  2044.     
  2045.     
  2046.     
  2047.     
  2048.     
  2049.     
  2050.     
  2051.     
  2052.     
  2053.     
  2054.     
  2055.     
  2056.     
  2057.     
  2058.     
  2059.     
  2060.     
  2061.     
  2062.     
  2063.     
  2064.     
  2065.     
  2066.     
  2067.     
  2068.     
  2069.     
  2070.     
  2071.     
  2072.  
  2073.   
  2074.    
  2075.     endswitch
  2076.   LPC=LPC+1
  2077.   if OUT>0 then break      /* OUT .. 1)return  2)hard landing back[accident,etc.]
  2078.   endwhile
  2079.   cls
  2080.   vpage(0)
  2081.   fill(0,0,767,511,0)
  2082.   vpage(1)
  2083.   
  2084.   endfunc
  2085.  
  2086.  
  2087.  
  2088.  func reki2()
  2089.  
  2090.   int L,LL
  2091.   color 7
  2092.   LL=6
  2093.   while 1
  2094.   for L=0 to 6
  2095.       if L<LL then continue
  2096.       pen(37,9+L,infos(16+L-LL))
  2097.       next
  2098.   if LL=0 then break
  2099.   LL=LL-1
  2100.   wait(5)
  2101.   endwhile
  2102.   TX=51:TY=16:TT=2:hitany()
  2103.   penbox(37,9,63,16)
  2104.   endfunc
  2105.  
  2106.  
  2107.  
  2108.  func camp()         /* ROCTOPUS : Dock Camp
  2109.  
  2110.   char ke
  2111.   int r1,g1,b1,L,MD,IK,C,SA=1,LL
  2112.   str sb
  2113.   color 10:pen(0,21,space$(96-len(infos(2)))+infos(2))
  2114.   pen(1,21,"coin: "+str$(gold))
  2115.   color 7
  2116.   LL=rnd()*3
  2117.  
  2118.   while 1
  2119.    C=0
  2120.    cambox(7)
  2121.    fill(48,C*16+384,280,C*16+399,8)
  2122.    pen(8,24,infos(3))
  2123.    pen(8,25,infos(4))
  2124.    pen(8,26,infos(5))
  2125.    pen(8,27,infos(6))
  2126.    pen(8,28,infos(7))
  2127.    C=cam(4)
  2128.    pf(8,24+C,infos(C+3),7,0)
  2129.    wait(2)
  2130.    fill(48,C*16+384,280,C*16+399,0)
  2131.    color 7
  2132.    penbox(8,24,40,29)
  2133.    MD=C
  2134.    
  2135.    switch MD
  2136.   
  2137.    case 0:/* market
  2138.   
  2139.   wait(32)
  2140.   color 7
  2141.   toki=1
  2142.   if Sen(2)=0 then {
  2143.      cambox(0)
  2144.      tokbox(3)
  2145.      corg(0,0):corp(0)
  2146.      wait(20)
  2147.      tok(come(0,4),0):corg(4,0):corp(0):wait(20):tok(come(4,5),0):corg(0,0):corp(0):wait(20):tok(come(0,5),0)
  2148.      corp_c(0)
  2149.      tokbox(0)
  2150.      wait(20)
  2151.      cambox(7)
  2152.      }
  2153.   wait(18)
  2154.   color 7
  2155.   pen(6,24,"《ここはヤミ市場です》")
  2156.   pen(6,25,"目つきの鋭い男が、トレーラー")
  2157.   pen(6,26,"の後部からこちらを見ている。")
  2158.   pen(6,27,"そして素早く手招きした。")
  2159.   TT=1:TX=33:TY=28:hitany():penbox(6,24,40,29)
  2160.   wait(20)
  2161.   while 1
  2162.       color 7:pen(8,24,infos(8))
  2163.       if gold<560 then color 6
  2164.       pen(8,25,infos(9))
  2165.       color 7:if gold<1400 then color 6
  2166.       pen(8,26,infos(10))
  2167.       color 7:if gold<790 then color 6
  2168.       pen(8,27,infos(11))
  2169.       color 7
  2170.       pen(8,28,infos(12))
  2171.       C=0
  2172.       fill(48,C*16+384,280,C*16+399,8)
  2173.       C=cam(4)
  2174.       pf(8,24+C,infos(8+C),0,7):color 7:pen(8,24+C,infos(8+C))
  2175.       wait(17)
  2176.       if C=4 then fill(48,C*16+384,280,C*16+399,0):penbox(6,24,40,29):break
  2177.       if C<4 then tokbox(7)
  2178.       switch C
  2179.       case 0:tok("「あんた達の噂は聞いている・・・・もしここを出るつもりだったら、『ゲンジン』が役に立つはずだ」",0):tokbox(0):wait(15):break
  2180.       case 1:tok("「『ゲンジン』は大気圏離脱パッケージだ。中古だが25発分しっかり充填しなおしてある。燃焼推進機関の代用品だな」",0)
  2181.              tokbox(15):wait(15):pen(41,24,itis(1)):pen(41,25,"560cです "+infos(13)):L=yn(41,26):color 7
  2182.              if L=0 then if gold<560 then pen(41,27,infos(14)):tokhit():break
  2183.              if L=1 then break
  2184.              if Eng(1)>0 then pen(41,27,infos(15)):tokhit():break
  2185.              gold=gold-560:color 10:coindisp():color 5
  2186.              Eng(1)=25:tokhit():break
  2187.       case 2:tok("「こいつは自動調理機だ。食材が持つ水分をほとんど奪いとってしまうが、味付けは悪くない。あと、メニューを自分で決めたがるタイプのようだ」",0)
  2188.              tokbox(15):wait(15):pen(41,24,itis(13)):pen(41,25,"1400cです "+infos(13)):L=yn(41,26):color 7
  2189.              if L=1 then break
  2190.              if Exi(0)=1 then pen(41,27,infos(15)):tokhit():break
  2191.              if L=0 then if gold<1400 then pen(41,27,infos(14)):tokhit():break
  2192.              gold=gold-1400:color 10:coindisp():color 5
  2193.              pen(41,27,itis(13)+"を購入"):Exi(0)=1:tokhit():break
  2194.       case 3:tok("「スクラップ寸前で軍から引き取ったやつだ。音は撃てるが、打撃力は失われている。特殊兵器なので修理は無理だ」",0)
  2195.              tokbox(15):wait(15):pen(41,24,itis(21)):pen(41,25,"790cです "+infos(13)):L=yn(41,26):color 7
  2196.              if L=1 then break
  2197.              if Eqi(6)=1 then pen(41,27,infos(15)):tokhit():break
  2198.              if L=0 then if gold<790 then pen(41,27,infos(14)):tokhit():break
  2199.              gold=gold-790:color 10:coindisp():color 5
  2200.              pen(41,27,itis(21)+"を購入")
  2201.              Eqi(6)=1:tokhit():break
  2202.       endswitch
  2203.       fill(48,C*16+384,280,C*16+399,0):tokbox(0):penbox(41,24,72,29)
  2204.       endwhile
  2205.   pen(8,24,"キャンプに戻ります")
  2206.   hitany():pen(8,24,space$(21))
  2207.   if Sen(2)=0 then {
  2208.      tokbox(3)
  2209.      corg(0,0):corp(0)
  2210.      wait(12)
  2211.      tok(come(0,6),0)
  2212.      tokbox(0):corp_c(0)
  2213.      }
  2214.   Sen(2)=1:wait(20)
  2215.   break
  2216.  
  2217.    
  2218.   case 1:/* captain room
  2219.   
  2220.   wait(17)
  2221.   while 1
  2222.   C=0
  2223.   penbox(8,24,35,28)
  2224.   pen(8,24,"データ・ディスプレイ")
  2225.   pen(8,25,"けいばくん評価リスト")
  2226.   pen(8,26,"ハンディ・ライブラリ")
  2227.   pen(8,27,"船長室を出る")
  2228.   fill(48,384,280,399,8)
  2229.   C=cam(3)
  2230.   fill(48,C*16+384,280,C*16+399,0)
  2231.   if C=3 then penbox(8,24,35,28):wait(5):C=0:break
  2232.   for L=0 to 3
  2233.       if C<>L then pen(8,24+L,space$(33))
  2234.       next
  2235.   switch C
  2236.    case 0:
  2237.           color 9:penbox(39,0,59,2)
  2238.           pen(41,1,"I N V E N T O R Y")
  2239.           get(0,692,81,781,gm)
  2240.           put(659,367,740,426,gm)
  2241.           color 7:pen(3,1,"ROCTOPUS DATA")
  2242.           color 5:IK=2
  2243.           pen(3,2,"推進機関")
  2244.           for L=0 to 12
  2245.               if Eng(L)>0 then pen(13,IK,itis(L)):IK=IK+1
  2246.               next
  2247.           pen(3,IK,"拡張装置")
  2248.           for L=0 to 5
  2249.               if Exi(L)>0 then pen(13,IK,itis(L+13)):IK=IK+1
  2250.               next
  2251.           pen(3,IK,"整備状況")
  2252.           if RR>0 then color 7:pen(13,IK,"修理中です")
  2253.           if RR=0 then color 5:pen(13,IK,"修理完了しました")
  2254.           color 7:pen(37,4,"ITEMS")
  2255.           color 5:IK=5
  2256.           for L=0 to 14
  2257.               if Eqi(L+4)>0 then pen(37,IK,itis(L+19)):IK=IK+1
  2258.               next
  2259.           if Sen(0)>0 then {
  2260.              color 7
  2261.              pen(70,9,"BAQEMOMKK MONSTERS")
  2262.              IK=10:color 5
  2263.              for L=0 to 3
  2264.                  if Eqi(L)=1 then pen(70,IK,bqm(L)):IK=IK+1
  2265.                  next
  2266.              }
  2267.           color 7:pen(70,1,"RADIO 'R' RATINGS"):IK=2
  2268.           color 5
  2269.           for L=0 to 2
  2270.               if Rdp(L,0)>0 then {
  2271.                  sb=itis(Rdp(L,0)+50)
  2272.                  if len(sb)>24 then {pen(70,IK,left$(sb,24)):pen(70,IK+1,mid$(sb,25,12))}else pen(70,IK,sb)
  2273.                  sb=str$(Rdp(L,1)):sb=space$(3-len(sb))+sb+"."+right$(time$,1)+"%"
  2274.                  pen(89,IK+1,sb)
  2275.                  IK=IK+2
  2276.                  }
  2277.               next
  2278.           color 7:pen(83,28,"航宙履歴:")
  2279.           sb="回"+str$(Sen(50))+"/ 戦"+str$(Sen(49))+"/ 跳"+str$(Sen(48))+"/ 賞"+str$(Sen(47))
  2280.           color 5:pen(92-len(sb),29,sb)
  2281.           box((91-len(sb))*8,445,740,485,8)
  2282.           box((91-len(sb))*8+1,445,741,485,8)
  2283.           color 7
  2284.           TX=93:TY=20:TT=1:hitany()
  2285.           penbox(0,0,95,20):penbox(92-len(sb),28,92,29)
  2286.           fill((91-len(sb))*8,445,741,485,0)
  2287.           fill(659,367,740,426,0)
  2288.           break
  2289.     endswitch
  2290.   endwhile
  2291.   break
  2292.   
  2293.  
  2294.   case 2:/*
  2295.  
  2296.   wait(5):cambox(0)
  2297.      toki=1
  2298.      tokbox(3)
  2299.      corg(9,0):corp(0):wait(12):tok(doc(19),0)
  2300.      corg(2,0):corp(0):wait(8):tok(doc(20),0)
  2301.      corg(3,0):corp(0):wait(8):tok(doc(21),0)
  2302.      corg(7,0):corp(0):wait(8):tok(doc(22),0)
  2303.      corg(6,0):corp(0):wait(12):tok(doc(23),0)
  2304.      corg(0,0):corp(0):wait(8):tok(doc(24),0)
  2305.      corg(1,0):corp(0):wait(8):tok(doc(25),0)
  2306.      corg(8,0):corp(0):wait(8):tok("駄目だこりゃ",0)
  2307.      tokbox(0)
  2308.      corp_c(0)
  2309.      toki=0
  2310.      break
  2311.  
  2312.  
  2313.   case 3:/* roctopus
  2314.  
  2315.   wait(12)
  2316.   cambox(0)
  2317.   if RR>0 then {
  2318.      corg(7,0) /* Get graph :Arthur(Front)
  2319.      corp(0)   /* Put graph :nearside of talk window
  2320.      tokbox(3)
  2321.      wait(29)
  2322.      toki=0
  2323.      tok(come(7,4),0)
  2324.      L=yn(41,26):color 7:toki=1
  2325.      if L=0 then pen(41,27,"うむ、やってみよう"):TT=1:TX=71:TY=29:hitany()
  2326.      penbox(41,24,72,29):corp_c(0)
  2327.      if L=1 then tokbox(0):break
  2328.  
  2329.     } else {
  2330.  
  2331.      tokbox(3)
  2332.      toki=0
  2333.      switch LL
  2334.        case 0:corg(2,0):corp(0):wait(29):tok(come(2,4),0):break
  2335.        case 1:corg(8,0):corp(0):wait(29):tok(come(8,6),0):break
  2336.        case 2:corg(9,0):corp(0):wait(29):tok(come(9,5),0):break
  2337.        endswitch
  2338.      L=yn(41,26):color 7:toki=1
  2339.      penbox(41,24,72,29)
  2340.      corp_c(0):tokbox(0)
  2341.      if L=1 then break
  2342.     }
  2343.        
  2344.   if Sen(50)=0 then {
  2345.      tokbox(3)
  2346.      wait(20)
  2347.      corg(3,0)
  2348.      corp(0)
  2349.      wait(29)
  2350.      toki=1
  2351.      tok(come(3,4),0):corp_c(0):wait(5)
  2352.      corg(1,0)
  2353.      corp(0)
  2354.      wait(29)
  2355.      tok(come(1,4),0):corp_c(0):wait(5)
  2356.      corg(6,0)
  2357.      corp(0)
  2358.      wait(29)
  2359.      tok(come(6,5),0)
  2360.      wait(20)
  2361.      corp_c(0)
  2362.      } else wait(20)
  2363.   tokbox(0)
  2364.   vpage(0)
  2365.   IK=0
  2366.   for L=0 to 12
  2367.       if Eng(L)>0 then IK=IK+1
  2368.       next
  2369.   if IK=1 then {
  2370.      color 7
  2371.      for L=0 to 12
  2372.          if Eng(L)>0 then pen(30,23,itis(L)+"が主動力となります"):break
  2373.          next
  2374.      TX=54:TY=25:TT=2:hitany()
  2375.      penbox(30,23,76,25):vpage(1)
  2376.      CE=L
  2377.      } else {
  2378.      C=0
  2379.      for L=0 to IK-1
  2380.          fill(280,16*(L+7)+1,297,16*(L+7)+15,12)
  2381.          next
  2382.      for L=0 to 12
  2383.          if Eng(L)>0 then pen(38,7+C,itis(L)):C=C+1
  2384.          next
  2385.      vpage(1)
  2386.      color 7
  2387.      fill(304,60,447,84,5)
  2388.      symbol(320,64,"主動力機関選択",1,1,1,0,0)
  2389.      C=0
  2390.      while 1
  2391.       fill(280,16*(C+7)+1,297,16*(C+7)+15,3)
  2392.       hitany()
  2393.       fill(280,16*(C+7)+1,297,16*(C+7)+15,12)
  2394.       if as="8" or as=chr$(30) then if C>0 then C=C-1
  2395.       if as="2" or as=chr$(31) then if C+1<IK then C=C+1
  2396.       if as="5" or as=" " then {
  2397.          for L=0 to 1
  2398.              fill(280,16*(C+7)+1,297,16*(C+7)+15,12):wait(3)
  2399.              fill(280,16*(C+7)+1,297,16*(C+7)+15,2):wait(5)
  2400.              next
  2401.          L=-1:LL=-1
  2402.          repeat
  2403.           LL=LL+1
  2404.           if Eng(LL)>0 then L=L+1
  2405.           until L=C
  2406.          C=LL
  2407.          pen(30,23,itis(C)+"を主動力に使用します")
  2408.          pen(30,25,"よろしいですか?")
  2409.          L=yn(47,25):color 7:penbox(30,23,66,25)
  2410.          if L=0 then break
  2411.          }
  2412.       endwhile
  2413.      vpage(0)
  2414.      for L=0 to 12
  2415.          fill(280,16*(L+7)+1,297,16*(L+7)+15,0)
  2416.          pen(30,L+7,space$(34))
  2417.          next
  2418.      fill(304,60,447,84,0)
  2419.      CE=C
  2420.      }     
  2421.             
  2422.   vpage(0)
  2423.   sleep(12)
  2424.   picnic()
  2425.   vpage(1)
  2426.   L=birds()
  2427.   reki2() /* if Sen(50)=0 then ...
  2428.   minus_driver(L)
  2429.   stars=0
  2430.   break
  2431.  
  2432.   
  2433.   case 4:/*return to stadium
  2434.   
  2435.   fill(42,378,286,470,0)
  2436.   wait(28)
  2437.   for L=0 to 21
  2438.       color 10:pen(0,21-L,space$(96))
  2439.       color 3:pen(0,22-L,space$(96))
  2440.       v_disp()
  2441.       next
  2442.   color 10:pen(0,0,space$(96-len(infos(0)))+infos(0))
  2443.   wait(23)
  2444.   color 10:pw():color 3
  2445.   for L=0 to 6
  2446.       pen(L*13+2,29,"GAMEOVER")
  2447.       next
  2448.   break
  2449.   endswitch
  2450.   if MD=4 then break
  2451.   endwhile
  2452.   
  2453.   endfunc
  2454.  
  2455.  
  2456.  
  2457.  func char yn(x,y)
  2458.  
  2459.   char flip
  2460.   while 1
  2461.    color 7:pen(x,y," はい / いいえ ")
  2462.    color 11:if flip=0 then pen(x,y," はい ") else pen(x+8,y," いいえ ")
  2463.    hitany()
  2464.    if as="4" or as=chr$(29) then flip=0
  2465.    if as="6" or as=chr$(28) then flip=1
  2466.    if as=" " or as="5" then break
  2467.    endwhile
  2468.   /*color 7:pen(x,y," はい / いいえ ")
  2469.   wait(8)
  2470.   if flip=1 then {
  2471.      pf(x+8,y," いいえ ",11,7)
  2472.      pf(x+8,y," いいえ ",11,10)
  2473.      color 11:pen(x+8,y," いいえ ")
  2474.      } else {
  2475.      pf(x,y," はい ",11,7)
  2476.      pf(x,y," はい ",11,10)
  2477.      color 11:pen(x,y," はい ")
  2478.      }
  2479.   wait(22)
  2480.   return(flip)
  2481.   endfunc
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  func camz()
  2487.  
  2488.   TT=1
  2489.   TX=33:TY=28
  2490.   hitany()
  2491.   pen(33,28,"  ")
  2492.   endfunc
  2493.  
  2494.  
  2495.  
  2496.  func tokbox(n)
  2497.  
  2498.   box(320,378,585,486,n)
  2499.   box(319,378,586,486,n)
  2500.   endfunc
  2501.  
  2502.  
  2503.  
  2504.  func tokboxB()
  2505.  
  2506.   box(3,412,483,505,15):box(4,412,482,505,12)
  2507.   endfunc
  2508.  
  2509.  
  2510.  
  2511.  func tokclr(n)
  2512.  
  2513.   if n=1 then penbox(0,26,59,30)
  2514.   if n=0 then penbox(41,24,72,29)
  2515.   endfunc
  2516.  
  2517.  
  2518.  
  2519.  func cambox(n)
  2520.  
  2521.   box(43,378,285,470,n)
  2522.   box(42,378,286,470,n)
  2523.   endfunc
  2524.  
  2525.  
  2526.  
  2527.  func tok(ts;str,tn;char) /* 文字列を数行に分けて表示する (対象範囲) 0:tokbox 1:tokboxB
  2528.  
  2529.   int spos  /* 文字変数ts内の読みだし位置 (( 先頭は1 ))
  2530.   int slen  /* 残り文字数
  2531.   int pa    /* 表示予定文字数
  2532.   int L
  2533.   char lin  /* 現在の行数 (-1)
  2534.   char limi /* 最大行数   (-1)
  2535.   char leg  /* 行毎の最大文字数
  2536.   char px   /* 表示開始位置
  2537.   
  2538.   /* 表示範囲: LOCATION  A) X= 41 ~ 70 , Y= 24 ~ 29   ( 全角文字 15個 x 6行 )
  2539.   /*                     
  2540.   /*                     B) X=  2 ~ 59 , Y= 26 ~ 30   (          28個 x 5行 )
  2541.   
  2542.   spos=1
  2543.   slen=len(ts)
  2544.   limi=5 :if tn=1 then limi=4
  2545.   leg=30 :if tn=1 then leg=56
  2546.  
  2547.   while 1
  2548.    pa=leg
  2549.    px=41 :if tn=1 then px=2
  2550.    /*if slen-spos+1 < 31 then pen(41,lin+24,mid$(ts,spos,30)):break
  2551.    if tn=0 then if lin=5 then if mid$(ts,spos+28,2)<>"。" then if mid$(ts,spos+28,2)<>"!" then if mid$ (ts,spos+28,2)<>"?" then {
  2552.       for L=0 to 12
  2553.           if mid$(ts,spos+26-L*2,2)="。" then pa=28-L*2:break
  2554.           if mid$(ts,spos+26-L*2,2)="!" then pa=28-L*2:break
  2555.           if mid$(ts,spos+26-L*2,2)="?" then pa=28-L*2:break
  2556.           next
  2557.       }
  2558.    if tn=0 then if lin<5 then {
  2559.       if mid$(ts,spos+24,2)="。" then pa=26
  2560.       if mid$(ts,spos+26,2)="。" then pa=28
  2561.       }
  2562.    for L=0 to 14 +13*tn
  2563.        if L*2+1>pa then break
  2564.        if mid$(ts,spos+L*2,1)="C" then pa=L*2:break
  2565.        if mid$(ts,spos+L*2,1)="#" then pa=L*2:break
  2566.        if mid$(ts,spos+L*2,2)="@" then pa=L*2:break
  2567.        if mid$(ts,spos+L*2,2)="%" then pa=L*2:break
  2568.        next
  2569.    pen(px,lin+24+tn*2,mid$(ts,spos,pa))
  2570.    spos=spos+pa:if spos>len(ts) then break
  2571.    if mid$(ts,spos,2)="。" or mid$(ts,spos,2)="、" or mid$(ts,spos,2)="っ" or mid$(ts,spos,2)="!" or mid$(ts,spos,2)="?" then {
  2572.       pen(71,lin+24,mid$(ts,spos,2))
  2573.       spos=spos+2:if spos>len(ts) then break
  2574.       }
  2575.    if mid$(ts,spos,1)="#" then {
  2576.       if pa>0 then lin=lin+1
  2577.       wait(8)
  2578.       color 5:pen(px,lin+24+tn*2,cn$(atoi(mid$(ts,spos+1,1)))):color 7
  2579.       spos=spos+2
  2580.       }     
  2581.    lin=lin+1
  2582.    if mid$(ts,spos,1)="C" then {
  2583.       color atoi(mid$(ts,spos+1,1))
  2584.       if pa=0 then lin=lin-1
  2585.       spos=spos+2
  2586.       }
  2587.    if mid$(ts,spos,2)="%" then {
  2588.           hitany()
  2589.           if tn=1 then penbox(0,26,59,30) else penbox(41,24,72,29)
  2590.           lin=0
  2591.           spos=spos+2
  2592.           }
  2593.    if mid$(ts,spos,2)="@" then spos=spos+2
  2594.    slen=len(ts)-spos+1
  2595.    if lin=limi+1 then {
  2596.       TT=2:TX=71:TY=29
  2597.       if tn=1 then TT=2:TX=61:TY=30
  2598.       hitany()
  2599.       if tn=1 then penbox(0,26,59,30) else penbox(41,24,72,29)
  2600.       wait(6)
  2601.       lin=0
  2602.       }
  2603.    endwhile
  2604.   if toki=1 then {
  2605.      TX=71:TY=29:TT=2
  2606.      if tn=1 then TT=2:TX=61:TY=30
  2607.      hitany()
  2608.      if tn=1 then penbox(0,26,59,30) else penbox(41,24,72,29)
  2609.      wait(6)
  2610.      }
  2611.   endfunc
  2612.  
  2613.  
  2614.  
  2615.  func enter()
  2616.  
  2617.   int zp,zp2
  2618.   color 9
  2619.   color [,0]
  2620.   for zp=7 to 20
  2621.    pen(17,zp,space$(73))
  2622.    next
  2623.   color [,rgb(12,19,17)]
  2624.   wait(2)
  2625.   color [,rgb(12,29,20)]
  2626.   wait(6)
  2627.   pen(17,7,"  L  Name                      Odds  先・・・・|・・・・追  comment   前走       ")
  2628.   pen(19,12, "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・")
  2629.   pen(19,16, "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・")
  2630.   pen(19,20, "・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・")
  2631.   color 9
  2632.   wait(11)
  2633.   epitapha_odds_makes()
  2634.   for zp=0 to 5
  2635.    wait(1)
  2636.    pen(19,9+zp*2,str$(zp+1))
  2637.    pen(22,9+zp*2,h(en(zp)))
  2638.    pen(55+hs2(en(zp))/10,9+zp*2,"<")
  2639.    pen(49,9+zp*2,sasi(odds(zp),3))
  2640.    if hac(zp)=1 then pen(68,9+zp*2,"絶好調")
  2641.    if int(rnd()*3)=1 then {
  2642.       if hac(zp)=2 then pen(68,9+zp*2,"仕上がり良")
  2643.       if hac(zp)=3 then pen(68,9+zp*2,"抜け出るか")
  2644.       if hac(zp)=4 then pen(68,9+zp*2,"脚周り安定")
  2645.       if hac(zp)=5 then pen(68,9+zp*2,"猛ダッシュ")
  2646.       if hac(zp)=6 then pen(68,9+zp*2,"調整不足か")
  2647.       if hac(zp)=7 then pen(68,9+zp*2,"追込み強い")
  2648.       }
  2649.    for zp2=0 to 4
  2650.        if hz(en(zp),zp2)>0 then {
  2651.           color 9:if hz(en(zp),zp2)=1 then color 5
  2652.           pen(79+zp2*2,9+zp*2,str$(hz(en(zp),zp2)))
  2653.           if zp2>0 then color 9:pen(78+zp2*2,9+zp*2,"・")
  2654.           }
  2655.        next
  2656.    color 9
  2657.    next
  2658.   color 5
  2659.   for zp=0 to 4
  2660.    pen(58,2+zp,bt$(zp+6)+": "+str$(odds(zp+6)))
  2661.    pen(68,2+zp,bt$(zp+11)+": "+str$(odds(zp+11)))
  2662.    pen(78,2+zp,bt$(zp+16)+": "+str$(odds(zp+16)))
  2663.    next
  2664.   endfunc
  2665.  
  2666.  
  2667.  func enter_c()
  2668.  
  2669.   int zp
  2670.   color 3
  2671.   for zp=6 to 23
  2672.    pen(6,zp,space$(84))
  2673.    next
  2674.   penbox(58,1,88,5)
  2675.   endfunc
  2676.  
  2677.  
  2678.  func epitapha_odds_makes()
  2679.  
  2680.   dim int msp(5),pri(5)
  2681.   int hmn,tkn
  2682.   int omdl,un
  2683.   int mp,mmp,ZLP,ya,yaa
  2684.   for LP=0 to 5
  2685.       if ad(en(LP))=1 then hmn=hmn+1
  2686.       if ad(en(LP))=2 then tkn=tkn+1
  2687.       ya=0
  2688.       for ZLP=0 to 5
  2689.           if ZLP=LP then continue
  2690.           if hs(en(LP))<hs(en(ZLP)) then ya=ya+1
  2691.           next
  2692.       if ya>2 then pri(LP)=1
  2693.       if ya=5 then pri(LP)=2
  2694.       next
  2695.   omdl=2
  2696.   if hmn=1 then omdl=0
  2697.   if hmn=2 then omdl=0:if tkn>2 then un=1
  2698.   if hmn>2 then omdl=1
  2699.   if hmn=0 then {
  2700.      if tkn=0 then omdl=2:un=3
  2701.      if tkn=1 then omdl=1
  2702.      if tkn=2 then omdl=1:un=1
  2703.      if tkn>2 then omdl=2:un=2
  2704.      }
  2705.   for LP=0 to 5
  2706.       ya=0:yaa=0
  2707.       for ZLP=0 to 4
  2708.           if hz(en(LP),ZLP)=1 then ya=ya+1
  2709.           if hz(en(LP),ZLP)=0 then {
  2710.              if ad(en(LP))=1 then {
  2711.                                     if int(rnd()*3)=0 then ya=ya+1:yaa=yaa+1:continue
  2712.                                     if int(rnd()*3)>0 then yaa=yaa+1
  2713.                                   }
  2714.              if ad(en(LP))=2 then {
  2715.                                     if int(rnd()*5)=0 then ya=ya+1:continue
  2716.                                     if int(rnd()*5)>2 then yaa=yaa+1
  2717.                                   }
  2718.              if ad(en(LP))=3 then if int(rnd()*3)=0 then yaa=yaa+1
  2719.              continue
  2720.              }
  2721.           if hz(en(LP),ZLP)<4 then yaa=yaa+1
  2722.           next
  2723.       switch ad(en(LP))
  2724.       case 1:odds(LP)=2
  2725.              if omdl=0 then break
  2726.              if omdl=1 then odds(LP)=3
  2727.              if ya=0 then if yaa<3 then odds(LP)=3
  2728.              if yaa<2 then odds(LP)=odds(LP)+1
  2729.              break
  2730.       case 2:odds(LP)=3
  2731.              if ya<2 then if yaa<3 then odds(LP)=odds(LP)+1
  2732.              if un>0 then odds(LP)=odds(LP)+1
  2733.              break
  2734.       case 3:odds(LP)=4:if omdl=2 then odds(LP)=3
  2735.              if yaa<3 then odds(LP)=odds(LP)+1
  2736.              if omdl<2 then odds(LP)=odds(LP)+1
  2737.              if un>0 then odds(LP)=odds(LP)+1
  2738.              break
  2739.       case 4:odds(LP)=7:if omdl=0 then odds(LP)=11
  2740.              for ZLP=0 to 2
  2741.                  odds(LP)=odds(LP)+hz(en(LP),ZLP)
  2742.                  next
  2743.              if yaa=0 then odds(LP)=odds(LP)+4
  2744.              if hz(en(LP),0)=6 then odds(LP)=odds(LP)+6
  2745.              break
  2746.       endswitch
  2747.       if hyher=1 then odds(LP)=(odds(LP)+3)*3
  2748.       if hyher=2 then odds(LP)=odds(LP)*3
  2749.       odds(LP)=odds(LP)+pri(LP)
  2750.       next
  2751.   mp=6
  2752.   for LP=0 to 4
  2753.       for ZLP=LP+1 to 5
  2754.           odds(mp)=odds(ZLP)/2*odds(LP)+(odds(LP)+ad(en(ZLP)))/2
  2755.           if odds(LP)>odds(ZLP) then odds(mp)=odds(LP)/2*odds(ZLP)+(odds(ZLP)+ad(en(LP)))/2
  2756.           if odds(mp)>999 then odds(mp)=999
  2757.           mp=mp+1
  2758.           next
  2759.       next
  2760.   endfunc
  2761.  
  2762.  
  2763.  
  2764.  func str infos(n)
  2765.  
  2766.   str S
  2767.   switch n   /*                    バケオック
  2768.     case 0:S="Rem Runner Stadium, Baqemomkk Emysice ":break
  2769.     case 1:S="Roctopus the Spaceboat, Emysice ":break
  2770.     case 2:S="Roctopus Dock Camp, Baqemomkk Emysice ":break
  2771.     case 3:S="ヤミ市場で買い物をする":break
  2772.     case 4:S="船長室へはいる":break
  2773.     case 5:S="会議召集":break
  2774.     case 6:S="ロクトパス号出発":break
  2775.     case 7:S="スタジアムへ行く":break
  2776.     case 8:S="男に話しかける":break
  2777.     case 9:S=itis(1)+"     (560c)":break
  2778.     case 10:S=itis(13)+"  (1400c)":break
  2779.     case 11:S=itis(21)+" (790c)":break
  2780.     case 12:S="店を出る":break
  2781.     case 13:S="買いますか?":break
  2782.     case 14:S="お金が足りません":break
  2783.     case 15:S="すでに所有しています":break
  2784.     case 16:S="ナイス・トゥ・ミー宙!":break
  2785.     case 17:S="ロクトパス号でなんとか":break
  2786.     case 18:S="星系外まで脱出したいと":break
  2787.     case 19:S="お考えね?じゃ3つの鍵":break
  2788.     case 20:S="~ 突破  発見  和解 ~":break
  2789.     case 21:S="このうちのどれかを胸に":break
  2790.     case 22:S="レッツゴー。グバーイ!":break
  2791.     case 25:S="":break
  2792.  
  2793.     endswitch
  2794.   return(S)
  2795.   endfunc
  2796.  
  2797.  
  2798.  
  2799.  func title()
  2800.  
  2801.   int voi,L,TER,NB,TR,TIM,LL
  2802.   vpage(0)
  2803.   voi=rnd()*2
  2804.   palet(14,0)
  2805.   for L=0 to 1
  2806.    symbol(35+L,390,"remrunners",2,1,2,14,0)
  2807.    symbol(23+L,415,"   hyher  ",2,1,2,14,0)
  2808.    symbol(35+L,440,"  padock  ",2,1,2,14,0)
  2809.    symbol(325+L,470,"1998 cornercept",1,1,1,15,0)
  2810.    symbol(320+L,409,"HIT ANY KEY",1,1,2,7,0)
  2811.    next
  2812.   vpage(1)
  2813.   TIM=-1400
  2814.   color 3
  2815.   while 1
  2816.    if keysns()=0 then break
  2817.    as=inkey$(0)
  2818.    endwhile
  2819.   L=0
  2820.   while 1
  2821.    voi=rnd()
  2822.    as=inkey$(0)
  2823.    if as<>"" then break
  2824.    if TR=0 then {
  2825.       TIM=TIM+1
  2826.       if TIM=120 then {
  2827.          v_disp()
  2828.          palet(14,rgb(L*2+1,L*2+1,L*2+1))
  2829.          L=L+1
  2830.          if L=16 then {
  2831.             TR=1
  2832.             NB=atoi(right$(time$,1))
  2833.             NB=atoi(right$(str$(NB+5),1))
  2834.             }
  2835.          TIM=0
  2836.          }
  2837.       }
  2838.    if TR=2 then {
  2839.       TIM=TIM+1
  2840.       if TIM=120 then {
  2841.          v_disp()
  2842.          palet(14,rgb(30-L*2,30-L*2,30-L*2))
  2843.          L=L+1
  2844.          if L=16 then {
  2845.             TR=1
  2846.             NB=atoi(right$(time$,1))
  2847.             NB=atoi(right$(str$(NB+5),1))
  2848.             }
  2849.          TIM=0
  2850.          }
  2851.       }
  2852.    if TR=1 then if atoi(right$(time$,1))=NB then {
  2853.       NB=atoi(right$(str$(NB+2),1))
  2854.       if TER<16 then {
  2855.          pen(6,30,space$(26)):wait(1)
  2856.          pen(6,30,space$((26-len(doc(TER+3)))/2)+doc(TER+3))
  2857.          }
  2858.       if TER=17 then pen(6,30,space$(26))
  2859.       if TER=18 then pen(6,30,"POOR GAMES 2in1 :FREE PLAY")
  2860.       if TER>20 then {
  2861.          switch TER
  2862.            case 21:pen(6,30,space$(26))
  2863.                    color 5:pen(62,25,"けいばくんX68   テキストピンボール・α"):color 3:break
  2864.            case 23:pen(62,27,"Hyher race of")
  2865.                    pen(62,28,"text runners.")
  2866.                    pen(62,29,"Featuring mad")
  2867.                    pen(62,30,"Baqemomkkrace.") 
  2868.                    pen(78,27,"Flicking Words")
  2869.                    pen(78,28,"like rolling ")
  2870.                    pen(78,29,"ball,on Planet")
  2871.                    pen(78,30,"Playborad.")
  2872.                    break
  2873.            case 24:pen(60,24,"・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・")
  2874.                    pen(60,31,"・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・")
  2875.                    for LL=25 to 30
  2876.                        pen(60,LL,"・"):pen(93,LL,"・")
  2877.                        next
  2878.                    L=0:TR=2
  2879.                    break
  2880.            case 25:penbox(61,25,92,30):break
  2881.            case 26:color 1:pen(79,30,"ROCTOPUS: CREW"):break
  2882.            case 28:color 3:pen(79,30,"              "):break
  2883.            case 29:corg(0,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(0)):break
  2884.            case 31:corg(1,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(1)):break
  2885.            case 33:corg(2,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(2)):break
  2886.            case 35:corg(3,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(3)):break
  2887.            case 37:corg(4,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(4)):break
  2888.            case 39:corg(5,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(5)):break
  2889.            case 41:corg(6,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(6)):break
  2890.            case 43:corg(7,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(7)):break
  2891.            case 45:corg(8,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(8)):break
  2892.            case 47:corg(9,rnd()*2):corp(1):pen(72,28,space$(10)):pen(72,28,cn$(9)):break
  2893.            case 49:corp_c(1):penbox(60,24,93,31):break
  2894.            case 53:L=0:TR=0:break
  2895.            endswitch
  2896.            }
  2897.  
  2898.       TER=TER+1:if TR=0 then TER=0
  2899.       }
  2900.    endwhile
  2901.   fill(320,409,453,433,0)
  2902.   color 5
  2903.   pen(6,30,space$(26))
  2904.   for L=0 to 7
  2905.       pen(45,26,"     ")
  2906.       wait(2)
  2907.       fill(35,390+L*3,280,392+L*3,0)
  2908.       fill(35,415+L*3,280,417+L*3,0)
  2909.       pen(45,26,"READY")
  2910.       wait(2)
  2911.       fill(35,440+L*3,280,442+L*3,0)
  2912.       next
  2913.   color 3
  2914.   pen(45,26,"     ")
  2915.   fill(30,390,560,490,0)
  2916.   palet(14,rgb(c_r(14),c_g(14),c_b(14)))
  2917.   if debug_sw=1 then {
  2918.      wait(21)
  2919.      while 1
  2920.      corg(rnd()*10,0):corp(1)
  2921.      color 5:pen(72,28,"デバッグモードです")
  2922.      color 3:pen(73,29,"1)voyage  2)text")
  2923.      L=0
  2924.      pen(73,30,"   [ESC]cansel")
  2925.      while 1
  2926.       color 3:if L=0 then color 11
  2927.       pen(73,29,"1)voyage")
  2928.       color 3:if L=1 then color 11
  2929.       pen(83,29,"2)text")
  2930.       hitany()
  2931.       if as="4" or as=chr$(29) then L=0
  2932.       if as="6" or as=chr$(28) then L=1
  2933.       if as="5" or as=" " then break
  2934.       if as=chr$(&h1b) then L=2 : break
  2935.       endwhile
  2936.      wait(15) 
  2937.      color 3:penbox(72,28,95,30):corp_c(1)
  2938.      if L=2 then break
  2939.      if L=0 then Sen(50)=1:camp():Sen(50)=0
  2940.      if L=1 then {
  2941.         toki=1
  2942.         tokboxB()
  2943.         tok(doc(51),1)
  2944.         toki=0:tok("@ズガーン",1):tremor():tok("@ガリガリバキボキズガシャーン",1):tremor():wait(10):toki=1:tokclr(1)
  2945.         tok(doc(52),1)
  2946.         tok(doc(53),1)
  2947.         tok(doc(54),1)
  2948.         tok(doc(55),1)
  2949.         tok(doc(56),1)
  2950.         tok(doc(57),1):crue(0,2)
  2951.         vpage(0):wait(20):vpage(1)
  2952.         tok(doc(58),1)
  2953.         tok(doc(59),1)
  2954.         
  2955.         
  2956.         tokclr(1)
  2957.         }
  2958.      endwhile
  2959.      }
  2960.   for L=0 to 15
  2961.       palet(15,rgb(31-L*2,31-L*2,31-L*2))
  2962.       wait(1)
  2963.       next
  2964.   pen(6,30,space$(26))
  2965.   palet(15,65535)
  2966.   endfunc
  2967.  
  2968.  
  2969.  
  2970.  func hitany()
  2971.  
  2972.   int ts,ts2,dr
  2973.   str ha$
  2974.   while 1
  2975.    if keysns()=0 then break
  2976.    rnd()
  2977.    ha$=inkey$(0)
  2978.    endwhile
  2979.   while 1
  2980.    HAK=HAK+1
  2981.    if HAK>400-stars*200 then {
  2982.       HAK=0
  2983.       switch TT
  2984.         case 0:break
  2985.         case 1:pen(TX,TY,"  "):TT=2:break
  2986.         case 2:pen(TX,TY,"△"):TT=1:break
  2987.         case 3:TT=4:palet(3,0):break
  2988.         case 4:TT=3:palet(3,rgb(crgb(6),crgb(7),crgb(8))):break
  2989.         endswitch
  2990.       }
  2991.    SH=SH+1:if SH=8 then SH=0
  2992.    if stars=1 then bluebells(SH)
  2993.    ha$=inkey$(0)
  2994.    if ha$<>"" then break
  2995.    endwhile
  2996.   TT=0
  2997.   palet(3,rgb(crgb(6),crgb(7),crgb(8)))
  2998.   as=ha$
  2999.   endfunc
  3000.  
  3001.  
  3002.  
  3003.  func bluebells(N)
  3004.  
  3005.       if sls(N,4)>0 then {
  3006.          if sls(N,1)+sls(N,5)<>100 then circle(383,200,sls(N,1)+sls(N,5),0,sls(N,0),sls(N,0),256)
  3007.          sls(N,4)=sls(N,4)+1
  3008.          sls(N,1)=sls(N,1)+smv(sls(N,3),sls(N,1)/13)
  3009.          if sls(N,1)+sls(N,5)>109 then if sls(N,0)>194 then if sls(N,0)<396 then sls(N,4)=0:sls(N,1)=0
  3010.          if sls(N,1)+sls(N,5)>80 then if sls(N,0)>220 then if sls(N,0)<320 then sls(N,4)=0:sls(N,1)=0
  3011.          if sls(N,1)+sls(N,5)>sls(N,2) then sls(N,4)=0:sls(N,1)=0
  3012.          if sls(N,1)>0 then if sls(N,1)+sls(N,5)>100 then circle(383,200,sls(N,1)+sls(N,5),15,sls(N,0),sls(N,0),256) else circle(383,200,sls(N,1)+sls(N,5),2,sls(N,0),sls(N,0),256)
  3013.          HAK=HAK+3
  3014.          }
  3015.       if sls(N,4)=0 then {
  3016.          sls(N,5)=0
  3017.          if rnd()*3<1 then sls(N,5)=rnd()*70
  3018.          sls(N,0)=rnd()*360
  3019.          sls(N,3)=rnd()*3
  3020.          sls(N,2)=129:if sls(N,5)=0 then if rnd()*8<1 then sls(N,2)=rnd()*70+60
  3021.          sls(N,4)=-rnd()*60-4
  3022.          }
  3023.       if sls(N,4)<0 then sls(N,4)=sls(N,4)+1:if sls(N,4)=0 then sls(N,4)=1:circle(383,200,sls(N,1)+sls(N,5),2,sls(N,0),sls(N,0),256)
  3024.   endfunc 
  3025.  
  3026.  
  3027.  
  3028.  func wait(w)
  3029.  
  3030.   int i
  3031.   for i=0 to w
  3032.       SH=SH+1:if SH=8 then SH=0
  3033.       if stars=1 then bluebells(SH) 
  3034.       v_disp()
  3035.       v_disp(1)
  3036.       next
  3037.   endfunc
  3038.  
  3039.  
  3040.  func str sasi(s,k)
  3041.  
  3042.   str sr
  3043.   sr=str$(s)
  3044.   sr=space$(k-len(sr))+sr
  3045.   return(sr)
  3046.   endfunc
  3047.  
  3048.  
  3049.  func pen(x,y,s;str)
  3050.  
  3051.   locate x,y
  3052.   print s;
  3053.   endfunc
  3054.  
  3055.  
  3056.  func penbox(x,y,xx,yy)
  3057.  
  3058.   int xl
  3059.   for xl=y to yy
  3060.       pen(x,xl,space$(xx-x+1))
  3061.       next
  3062.   endfunc
  3063.  
  3064.  
  3065.  func pf(x,y,s;str,c1,c2)
  3066.  
  3067.   color c2
  3068.   pen(x,y,s)
  3069.   wait(2)
  3070.   color c1
  3071.   pen(x,y,s)
  3072.   wait(2)
  3073.   color c2
  3074.   pen(x,y,s)
  3075.   wait(2)
  3076.   color c1
  3077.   pen(x,y,s)
  3078.   wait(2)
  3079.   color 3
  3080.   pen(x,y,space$(len(s)))
  3081.   endfunc
  3082.  
  3083.  
  3084.  
  3085.  func ipcload(filename;str)
  3086.  
  3087.   int hand,f,fuu,fee,serve,ann,sep,bg
  3088.   int ref
  3089.   char altin
  3090.   dim int wolf(3000),ed(255),nz(99)
  3091.   hand=fopen(filename,"r")
  3092.   ref=fread(ed,1,hand)
  3093.   ref=fread(nz,100,hand)
  3094.   ref=fread(wolf,128,hand)
  3095.   for f=0 to 127
  3096.       ann=wolf(f) shr 16
  3097.       c_b(f*2)=ann/1024
  3098.       fuu=ann mod 1024
  3099.       c_g(f*2)=fuu/32
  3100.       c_r(f*2)=fuu mod 32
  3101.       ann=wolf(f) shl 16
  3102.       ann=ann shr 16
  3103.       c_b(f*2+1)=ann/1024
  3104.       fuu=ann mod 1024
  3105.       c_g(f*2+1)=fuu/32
  3106.       c_r(f*2+1)=fuu mod 32
  3107.       next
  3108.    ref=fread(ed,2,hand)
  3109.    sep=ed(0)
  3110.    ann=ed(0) shl 15
  3111.    ann=ann shr 15
  3112.    fee=ann/1024
  3113.    bg=fee
  3114.    g(0)=sep shr 17
  3115.    g(1)=ann mod 1024
  3116.    g(2)=ed(1)
  3117.    ref=fread(wolf,nz(bg)/4,hand)
  3118.    for serve=0 to nz(bg)/4
  3119.        g(serve*3+3)=wolf(serve) shr 20
  3120.        ann=wolf(serve) shl 12
  3121.        ann=ann shr 12    
  3122.        g(serve*3+4)=ann/1024
  3123.        g(serve*3+5)=ann mod 1024
  3124.        next
  3125.    g(ref)=0:g(g(2)+3)=0
  3126.   ref=fcloseall()
  3127.   endfunc
  3128.  
  3129.  
  3130.  
  3131.  func ipc_col(p)
  3132.  
  3133.   int belle,alec
  3134.   if p=16 then {
  3135.      for belle=0 to 255
  3136.          palet(belle,rgb(c_r(belle),c_g(belle),c_b(belle)))
  3137.          next
  3138.      return()
  3139.      }
  3140.   alec=p*16
  3141.   for belle=0 to 15
  3142.       palet(belle,rgb(c_r(belle+alec),c_g(belle+alec),c_b(belle+alec)))
  3143.       next
  3144.   endfunc
  3145.  
  3146.  
  3147.  
  3148.  func int trace()    /* ikaspoke:TRACEcs (Remrunner Version)
  3149.  
  3150.   int mm
  3151.   int nnx,nny
  3152.   int cc,wm
  3153.   mm=3
  3154.   while 1
  3155.    if g(mm)=0 then break
  3156.    if wm>g(1) then break
  3157.    switch g(mm)
  3158.     case 1:/* CIRCLE
  3159.            circle(g(mm+1),g(mm+2),g(mm+3),g(mm+4))
  3160.            if g(mm+5)=1 then circle(g(mm+1)+1,g(mm+2),g(mm+3),g(mm+4))
  3161.            mm=mm+6
  3162.            break
  3163.     case 2:/* LINE(CONTINUE)
  3164.            line(nnx,nny,g(mm+1),g(mm+2),g(mm+3))
  3165.            if g(mm+4)=1 then line(nnx+1,nny,g(mm+1)+1,g(mm+2),g(mm+3))
  3166.            nnx=g(mm+1)
  3167.            nny=g(mm+2)
  3168.            mm=mm+5
  3169.            break
  3170.     case 3:/* BOX
  3171.            box(g(mm+1),g(mm+2),g(mm+3),g(mm+4),g(mm+5))
  3172.            if g(mm+6)=1 then box(g(mm+1)+1,g(mm+2),g(mm+3)+1,g(mm+4),g(mm+5))
  3173.            mm=mm+7
  3174.            break
  3175.     case 5:/* PSET
  3176.            pset(g(mm+1),g(mm+2),g(mm+3))
  3177.            if g(mm+4)=1 then pset(g(mm+1)+1,g(mm+2),g(mm+3))
  3178.            mm=mm+5
  3179.            break
  3180.     case 6:/* FILL
  3181.            fill(g(mm+1),g(mm+2),g(mm+3),g(mm+4),g(mm+5))
  3182.            mm=mm+6
  3183.            break
  3184.     case 8:break
  3185.     case 10:/* CIRCLE PLUS
  3186.            cc=g(mm+6)
  3187.            if cc>519 then cc=(cc-511)*((cc-512)/8)+511
  3188.            circle(g(mm+1),g(mm+2),g(mm+3),g(mm+7),g(mm+4),g(mm+5),cc)
  3189.            if g(mm+8)=1 then circle(g(mm+1)+1,g(mm+2),g(mm+3),g(mm+7),g(mm+4),g(mm+5),cc)
  3190.            mm=mm+9
  3191.            break
  3192.     case 11:/* LINE(NORMAL)
  3193.            line(g(mm+1),g(mm+2),g(mm+3),g(mm+4),g(mm+5))
  3194.            if g(mm+6)=1 then line(g(mm+1)+1,g(mm+2),g(mm+3)+1,g(mm+4),g(mm+5))
  3195.            nnx=g(mm+3)
  3196.            nny=g(mm+4)
  3197.            mm=mm+7
  3198.            break
  3199.     case 12:/* PAINT
  3200.            paint(g(mm+1),g(mm+2),g(mm+3))
  3201.            mm=mm+4
  3202.            break
  3203.     endswitch
  3204.     wm=wm+1
  3205.    endwhile
  3206.    return(wm)
  3207.   endfunc
  3208.  
  3209.  
  3210.  
  3211.  func str come(n,nb)
  3212.  
  3213.   str s
  3214.   switch n
  3215.     case 0:/* samuel
  3216.            switch nb
  3217.              case 0:s="当然だよ、俺は探測長なんだもの":break
  3218.              case 1:s="次はグワッともうけたいねェ":break
  3219.              case 2:s="新しい装置買おうぜ、船長!":break
  3220.              case 3:s="グェフー、八百長なのかもなコレ!":break
  3221.              case 4:s="ヤミ市ですか?俺が案内しますよ。すぐそこだけどね。":break
  3222.              case 5:s="ヘエそりゃ大変・・。じゃあ船長、行きますよ。":break
  3223.              case 6:s="武器が無いとなると、もっと機動力が必要かな。宇宙船かっぱらうとか・・あッ冗談です。":break
  3224.              case 9:s="はらへった":break
  3225.              case 10:s="グェフー、メシクレメシクレ":break
  3226.              endswitch
  3227.            break
  3228.     case 1:/*sheckley
  3229.            switch nb
  3230.              case 0:s="運がよかった":break
  3231.              case 1:s="なんて不毛なレースなのだろう":break
  3232.              case 2:s="夢のようだ":break
  3233.              case 3:s="早く帰りましょう。風邪ひきますよ":break
  3234.              case 4:s="なるほど、強引に抜け出すべき頃合かもしれません。ただ、現在の装備でどこまでやれるか・・・・。":break
  3235.              case 9:s="(グウー)がまんがまん。":break
  3236.              case 10:s="なかなか食事時間が来ないのですが":break
  3237.              endswitch
  3238.            break
  3239.     case 2:/*marion
  3240.            switch nb
  3241.              case 0:s="なかなかのもんでしょう":break
  3242.              case 1:s="だめでした・・・":break
  3243.              case 2:s="フフフッ、ご覧なさいな船長?":break
  3244.              case 3:s="えェッと・・・・":break
  3245.              case 4:s="ロクトパス、離陸体制に入ります。よろしいですか?":break
  3246.              case 9:s="おなかが減りましたね":break
  3247.              case 10:s="船長、キッチンにカエルが!!まあ無断で!":break
  3248.              endswitch
  3249.            break
  3250.     case 3:/*bruce
  3251.            switch nb
  3252.              case 0:s="まだ上を狙えますよ":break
  3253.              case 1:s="パッとしないっスー":break
  3254.              case 2:s="故郷のトマト畑を思い出します":break
  3255.              case 3:s="もう帰るって?":break
  3256.              case 4:s="おっ、待ってました!@いよいよ打って出るわけだ!":break
  3257.              case 9:s="(グーウ)・・船長、食事にしませんか?":break
  3258.              case 10:s="さあ、今のうちに何か食べましょう!":break
  3259.              endswitch
  3260.            break
  3261.     case 4:/*fredrick
  3262.            switch nb
  3263.              case 0:s="ホクホク":break
  3264.              case 1:s="あーあ。":break
  3265.              case 2:s="燃料買って出発しようよ":break
  3266.              case 3:s="そんな目で見るなよォ・・・・":break
  3267.              case 4:s="セーブしますか?":break
  3268.              case 5:s="全然関係ないけど待ってー。@ゲームデータのセーブは大気圏に突入する時にしかできません。セーブができない時もあります。それじゃあ。":break
  3269.              case 9:s="なにか食べたいな":break
  3270.              case 10:s="(ギュウ)船長のおに、いけずー":break
  3271.              endswitch
  3272.            break
  3273.     case 5:/*alice
  3274.            switch nb
  3275.              case 0:s="ミノーちゃん、ワンワン、またね":break
  3276.              case 1:s="あー面白かった!":break
  3277.              case 2:s="作戦にかかりましょう、船長":break
  3278.              case 3:s="サミュエルでも走らせましょうか":break
  3279.              case 9:s="おなかすいちゃったー":break
  3280.              case 10:s="ごはん!":break
  3281.              endswitch
  3282.            break
  3283.     case 6:/*david
  3284.            switch nb
  3285.              case 0:s="カンが冴えてたよな":break
  3286.              case 1:s="これだけか・・":break
  3287.              case 2:s="やったぜー船長。見ろコレ":break
  3288.              case 3:s="キューむかつく!":break
  3289.              case 4:s="【フランクの作戦案に対する意見】@船長、あの戦闘機乗りはただ壮大に暴れたい気持ちだけで先の作戦案を提出したものと思われます。未知の星域にあって私達は、反動的な振る舞いは避けねばいけません。「積み荷」を確実に取り戻すためにも、慎重な決断を期待します。":break
  3290.              case 5:s="食糧の積み込みは完了!":break
  3291.              case 9:s="みんなー、はらへってないか?":break
  3292.              case 10:s="ガマン大会は別の日にしような船長・・・・":break
  3293.              endswitch
  3294.            break
  3295.     case 7:/*arthur
  3296.            switch nb
  3297.              case 0:s="勝ったぞ、やれやれだ":break
  3298.              case 1:s="わしは機械整備の方が性に合っとる":break
  3299.              case 2:s="ガハハハ、夕食は豪勢に行かんとな":break
  3300.              case 3:s="まともに走れんのか連中は・・・・":break
  3301.              case 4:s="修理がまだ途中なんだが、本当に出るつもりか?":break
  3302.              case 9:s="機関室よりブリッジへ・・メシはまだかあ?":break
  3303.              case 10:s="仕事に身が入らんなあ・・メシはまだかあ?":break
  3304.              endswitch
  3305.            break
  3306.     case 8:/*niel
  3307.            switch nb
  3308.              case 0:s="とっても簡単":break
  3309.              case 1:s="そもそも奴らはナニモン?":break
  3310.              case 2:s="ギャンブルまんざい!":break
  3311.              case 3:s="プンスカ":break
  3312.              case 4:s="船長。この星について少し分かりましたのでご報告します。このバケオックーは非常に複雑な軌道を描いて、星系じゅうを迷子のヘビみたいに進んでます。こういうのを遊星っていうんですか?":break
  3313.              case 5:s="さらに重力圏不発雲が異様に濃く、通常の離脱パックではとても大気圏外までもちませんね。4倍はキック力が要ります。そのレベルのパッケージといえば、25連発の「ゲンジン」が有名ですけど・・、ここには無いって言われまして・・。ヤミ市でものぞいてみますか?":break
  3314.              case 6:s="離陸準備に移ります。@いいですか船長?":break
  3315.              case 9:s="チョコバットか切れてきた・・・・":break
  3316.              case 10:s="停止寸前・・食事にしましょう":break
  3317.              endswitch
  3318.            break
  3319.     case 9:/*frank
  3320.            switch nb
  3321.              case 0:s="無事帰艦しました!":break
  3322.              case 1:s="爆発パワー野郎は御免だね":break
  3323.              case 2:s="アンタが大将、俺、撃墜王!":break
  3324.              case 3:s="二度と来るかって思いますよ":break
  3325.              case 4:s="【ポーストン邸襲撃作戦・案】@理不尽な罪状により我々を軟禁処分にしたポーストン氏に対し、我々は抵抗を試みるべきです。まずは奴を問いただすため、強引ですがこちらから出向いて接触をはかる必要があります。簡単にいえば襲撃です(以下略)":break
  3326.              case 5:s="イヤッホーキャプテン、@出撃ですか?":break
  3327.              case 9:s="おなかペコペコだよ":break
  3328.              case 10:s="うわー、めまいがする!":break
  3329.              endswitch
  3330.            break
  3331.     endswitch
  3332.   return(s)
  3333.   endfunc
  3334.  
  3335.  
  3336.  
  3337.  func str itis(n)
  3338.  
  3339.   str R
  3340.   switch n
  3341.    case 0:R="アキネス粒子増幅":break /* ...............推進機関各種
  3342.    case 1:R="25連発「玄人」":break
  3343.    case 2:R="MOM130プロプ":break
  3344.    case 3:R="4連発「蛾煉瓦」":break
  3345.    case 4:R="盆栽推進機マルニ":break
  3346.    case 5:R="NAM-010モッカイロ":break
  3347.    case 6:R="11連発「サク」":break
  3348.    case 7:R="キックバッカー":break
  3349.    case 8:R="マハー2号戦車":break
  3350.    case 9:R="":break
  3351.    case 10:R="合成斥力音波駆動":break
  3352.    case 11:R="ガビッジ座反応軸推進":break
  3353.    case 12:R="流星フック「かに」":break
  3354.    case 13:R="EPH17Cヘルグリラー":break /* ................ここより拡張装置
  3355.    case 14:R="三能マニピュレータ":break
  3356.    case 15:R="チャッカさん":break
  3357.    case 16:R="ガル偵察頭脳ロケット":break
  3358.    case 17:R="寸止め式手刀デコイ":break
  3359.    case 18:R="船外目玉プレート":break
  3360.    case 19:R="ヒステリア・7cmレンチ":break /* ................ここよりアイテム
  3361.    case 20:R="琴弓「ギャラクシー」":break
  3362.    case 21:R="ヘボウ小型音響高射砲":break
  3363.    case 22:R="サバイバル・フルート":break
  3364.    case 23:R="打撃楽器「レゴッス」":break
  3365.  
  3366.    endswitch
  3367.   return(R)
  3368.  endfunc
  3369.  
  3370.  
  3371.  
  3372.  func str doc(n)
  3373.  
  3374.   str R
  3375.   switch n
  3376.    case 0:R="諸君、元気そうでなりよりだ。さて我々は何も君達をそこへ幽閉しようというのではない。個人的には先の件を忘れても良いと思っている。が、君達は今、全エミサイスの過半数の住民から敵意を買っている。(英雄)の葬式を台無しにした野蛮人を叩けという声が強いのだ。":break
  3377.    case 1:R="かれらは皆、ひどく落胆し、いささか不機嫌でもある。我らの(英雄)は星系外で事故死したのだよ・・・・。不変政府では貴船の身元確認に手をやいているところだ。くれぐれも今は静かにしておき給え。身の保証はできない。なお、押収された積み荷に関しては私の管轄外だ。":break
  3378.    case 2:R="私としてはこの文書を送るのが精一杯である。バケオックーは君達にとって安全な監獄となるだろう。不変大佐 G・7・ポーストン    追記。運が悪いといえば、あれは最悪だったな。君達のあの曲ときたら・・・・。今後のためにも、あれは破棄しておくことをすすめる。":break
  3379.    case 3:R="エミサイス星系にて":break
  3380.    case 4:R="大きなお葬式があり":break
  3381.    case 5:R="星という星が参列する中":break
  3382.    case 6:R="英雄の棺が運ばれた":break
  3383.    case 7:R="そんな最中に":break
  3384.    case 8:R="宇宙船ロクトパス号は":break
  3385.    case 9:R="どんちゃんさわぎで航行":break
  3386.    case 10:R="何も知らずに通過した":break
  3387.    case 11:R="なんたる壮大な無礼行為かと":break
  3388.    case 12:R="戦闘挺につかまえられた":break
  3389.    case 13:R="":break
  3390.    case 14:R="放り込まれたのは":break
  3391.    case 15:R="  競星《バケオックー》":break
  3392.    case 16:R="":break
  3393.    case 17:R="レースで儲けようか、諸君!":break
  3394.    case 18:R="そしてまた宇宙に出よう・・":break
  3395.    case 19:R="・・・・だから、連中はずっとここに俺たちを閉じ込めておくつもりなんだよ。じっとしてたって何にもなりゃしないさ。一発お見舞いしてやるんだ!":break
  3396.    case 20:R="どのような一発?@ポルカ粒子砲を取り上げられたのに、どうやって・・・・":break
  3397.    case 21:R="手はある。あの時かけた曲をもう一回流そう。連中をおびき出すことができる筈だ。そしてなにか・・":break
  3398.    case 22:R="待った!あの時、なんの曲をかけたのか、覚えてるか?":break
  3399.    case 23:R="・・・・・・・・。@バカ笑いしていたような・・・・@叫びながら小走りしてたような":break
  3400.    case 24:R="ああそうだった。確かコルク栓をまとめて便所の隅に蹴り込んでいたんだ":break
  3401.    case 25:R="そんなはずは・・。わたしはフライパンの前に行って、フォーキラン誘導弾との類似性検証にコルク栓を占拠していたのだ・・":break
  3402.    case 30:R="【重力圏不発雲】@人工のガス雲。独立した情報認識機能があり、無登録もしくは無許可の飛行物体に反応し、物体の上昇力に負担を掛ける性質をもつ。外部からの進入には干渉しない。これの登場により、惑星間貿易と治安責任問題による混乱は基本的には解決した。":break
  3403.    case 31:R="【放送波推進】@銀河全域をカバーする規模で運用されるローカル放送中継システムを利用した宇宙船の推進機構を指す。ごく弱いレンジの放送を発信し、それが一定以上の人気を獲得すると、指向性の補強ビームが届く。これを推進力に変換する、高度な技術。違法。":break
  3404.    case 32:R="【宇宙時間】@ロクトパス号のブリッジにおける船内時間区分は、立時、隣時、影時、酸時、光時、餅時、電時、眠時、禅時の9つからなる。それぞれ「LRASKHDMZ」と表記することもある。提唱者はマブチモー星の植物学者で、当船のクルーはアレンジをして使用。":break
  3405.    case 33:R="":break
  3406.    case 34:R="":break
  3407.    case 35:R="":break
  3408.    case 36:R="":break
  3409.  
  3410.     /* これよりミッション ***
  3411.    case 51:R="#0なにか・・・・あれっ#2モトオラ級の未確認船、後方より接近。いやな速度・・%#0ぶつける気だ!#3船底フラスコ引っ込め!緩衝死角調整、@・・ヒエー%#5ぶつかるの?#8そうです、ぶつかってくるんです!つかまって!%#2友好信号応答なし!#6だろうナァ・・・・ウハハハ・・":break
  3412.    case 52:R="C5海賊@C7動くな!%#0ワオ、素早いねC5海賊@C7改造しやすいマシンってのは、玄関が多いもんだ。まあ、@俺達の船もそうだが。さて・・・・船長は、あんたか%C5海賊BC7@クルーの命はあんた次第。用が済めば我々は黙って出てくぜ。・・この船にある盆栽を出しな!":break
  3413.    case 53:R="#6ぼ・・盆栽?#3ボンサイとは何だ、ニール%#8「盆栽」とは、植物を観賞用に手を加えつつ、鉢の上で@育てるという園芸の様式らしいですね#0ヘエ、そんなの載っけてたか?%#2ロビーのテーブル脇にある太陽ナッツの木じゃないかしら#8なるほど、あれでしたか、盆栽は":break
  3414.    case 54:R="C5海賊@C7・・・・テメェら、チョロチョロするんじゃねえ!@C5海賊B@C7・・・・おい、あったぞ。これか・・・・?@何か妙な気がするが・・・・?%C5シオミリン@C7そいつじゃないな。センサーは別の盆栽に反応している・・@捜し出せ!@C5海賊BC7へいさー":break
  3415.    case 55:R="#0あんたが大将?@C5シオミリン@C7・・・・そんなところだ。我々は海賊船レッド・ゾーンの者・・@お前達があの時の葬式に乱入したチンドン屋か?@#6冗談じゃないよ!通りすぎただけなんだ・・・・@C5シオミリンC7@だろうな。そのおかげで、こっちはやり易くなった":break
  3416.    case 56:R="#2?@C5シオミリン@C7あの星は、お前達に照準を移したのだからな@ゴーラム、マズル、盆栽はまだ見つからないのか!?@C5海賊C7@ハ、ハイ・・こいつら、隠し持ってるんじゃないすか?@C5海賊BC7@へたな抵抗してっと、ぶっこわすぜ!":break
  3417.    case 57:R="#3もうじゅうぶん壊れてるけど、@盆栽に覚えがないからどうしようもないよ・・%C5Arthur:<機関室> C7@じつは・・・・わしの鉢植えが部屋にあるんだが・・・・@C5海賊たちC7@それだ!@よし、そこのカエル、奴の部屋に案内しろ":break
  3418.    case 58:R="C5海賊C7@旦那、これですぜ%C5シオミリンC7@これか?・・ふむ、スキャナにかけてみよう。(ピコー)@C5携帯BS・音声出力C7@ウオッ?この・・伐採のようでいて、抑制の利いた荒々しさ・・・・左右非対称性の過剰なる自然。みずみずしい活着。78得点。":break
  3419.    case 59:R="C5海賊BC7@ヒャーッッフォッ!C5@海賊C7@こいつは(銀河)級ですよ、恐らく%C5@シオミリンC7@そうとは限らん。念のためにそこの太陽ナッツも持って帰るぞ@・・・・では諸君、お騒がせしたな@わたしは、シオミリン。《レッド・ゾーン》艦長だ。@また逢おう。":break
  3420.    case 61:R="":break
  3421.    case 62:R="":break
  3422.    case 63:R="":break
  3423.    case 64:R="":break
  3424.    case 65:R="":break
  3425.    case 66:R="":break
  3426.    case 67:R="":break
  3427.    case 68:R="":break
  3428.    case 69:R="":break
  3429.    case 70:R="":break
  3430.    case 71:R="":break
  3431.    case 72:R="":break
  3432.    case 73:R="":break
  3433.    case 74:R="":break
  3434.    case 75:R="":break
  3435.    case 76:R="":break
  3436.    case 77:R="":break
  3437.    case 78:R="":break
  3438.    case 79:R="":break
  3439.    case 80:R="":break
  3440.    case 81:R="":break
  3441.    case 82:R="":break
  3442.    case 83:R="":break
  3443.    case 84:R="":break
  3444.    case 85:R="":break
  3445.    case 86:R="":break
  3446.    case 87:R="":break
  3447.    case 88:R="":break
  3448.    case 89:R="":break
  3449.    case 90:R="":break
  3450.    case 91:R="":break
  3451.    case 92:R="":break
  3452.    case 93:R="":break
  3453.    case 94:R="":break
  3454.    case 95:R="":break
  3455.    case 96:R="":break
  3456.    case 97:R="":break
  3457.    case 98:R="":break
  3458.    case 99:R="":break
  3459.    case 100:R="":break
  3460.    case 101:R="":break
  3461.    case 102:R="":break
  3462.    case 103:R="":break
  3463.    case 104:R="":break
  3464.    case 105:R="":break
  3465.    case 106:R="":break
  3466.    case 107:R="":break
  3467.    case 108:R="":break
  3468.    case 109:R="":break
  3469.    case 110:R="":break
  3470.    case 111:R="":break
  3471.    case 112:R="":break
  3472.    case 113:R="":break
  3473.    case 114:R="":break
  3474.    case 115:R="":break
  3475.    case 116:R="":break
  3476.    case 117:R="":break
  3477.    case 118:R="":break
  3478.    case 119:R="":break
  3479.    case 120:R="":break
  3480.    case 121:R="":break
  3481.    case 122:R="":break
  3482.    case 123:R="":break
  3483.    case 124:R="":break
  3484.    case 125:R="":break
  3485.    case 126:R="":break
  3486.    case 127:R="":break
  3487.    case 128:R="":break
  3488.    case 129:R="":break
  3489.    case 130:R="":break
  3490.    case 131:R="":break
  3491.    case 132:R="":break
  3492.    case 133:R="":break
  3493.    case 134:R="":break
  3494.    case 135:R="":break
  3495.    case 136:R="":break
  3496.    case 137:R="":break
  3497.    case 138:R="":break
  3498.    case 139:R="":break
  3499.    case 140:R="":break
  3500.    case 141:R="":break
  3501.    case 142:R="":break
  3502.    case 143:R="":break
  3503.    case 144:R="":break
  3504.    case 145:R="":break
  3505.    case 146:R="":break
  3506.    case 147:R="":break
  3507.    case 148:R="":break
  3508.    case 149:R="":break
  3509.    case 150:R="":break
  3510.    case 151:R="":break
  3511.    case 152:R="":break
  3512.    case 153:R="":break
  3513.    case 154:R="":break
  3514.    case 155:R="":break
  3515.    case 156:R="":break
  3516.    case 157:R="":break
  3517.    case 158:R="":break
  3518.    case 159:R="":break
  3519.    case 160:R="":break
  3520.    case 161:R="":break
  3521.    case 162:R="":break
  3522.    case 163:R="":break
  3523.    case 164:R="":break
  3524.    case 165:R="":break
  3525.    case 166:R="":break
  3526.    case 167:R="":break
  3527.    case 168:R="":break
  3528.    case 169:R="":break
  3529.    case 170:R="":break
  3530.    case 171:R="":break
  3531.    case 172:R="":break
  3532.    case 173:R="":break
  3533.    case 174:R="":break
  3534.    case 175:R="":break
  3535.    case 176:R="":break
  3536.    case 177:R="":break
  3537.    case 178:R="":break
  3538.    case 179:R="":break
  3539.    case 180:R="":break
  3540.  
  3541.  
  3542.    endswitch
  3543.   return(R)
  3544.  endfunc
  3545.  
  3546.  
  3547.  
  3548.  func str MS(n) /*@@
  3549.  
  3550.   str R
  3551.   switch n
  3552.     case 0:R="サミュエル":break
  3553.     case 1:R="シェクリイ":break
  3554.     case 2:R="マリオン":break
  3555.     case 3:R="ブルース":break
  3556.     case 4:R="フレドリック":break
  3557.     case 5:R="アリス":break
  3558.     case 6:R="デイヴィッド":break
  3559.     case 7:R="アーサー":break
  3560.     case 8:R="ニール":break
  3561.     case 9:R="フランク":break
  3562.     case 10:R="キャプテン":break
  3563.     case 11:R="船長":break
  3564.     case 12:R="機関室":break
  3565.     case 13:R="医務室":break
  3566.     case 14:R="ブリッジ":break
  3567.     case 15:R="格納庫":break
  3568.     case 16:R="弾薬庫":break
  3569.     case 17:R="コンテナ":break
  3570.     case 18:R="":break
  3571.     case 19:R="より":break
  3572.     case 20:R="まってください":break
  3573.     case 21:R="通信":break
  3574.     case 22:R="メダル信号":break
  3575.     case 23:R="すまんが、ひとりこっちへまわしてくれ":break
  3576.     case 24:R="だめだこりゃ":break
  3577.     case 25:R="解析中です":break
  3578.     case 26:R="えーと・・・・":break
  3579.     case 27:R="了解":break
  3580.     case 28:R="はい":break
  3581.     case 29:R="はいな":break
  3582.     case 30:R="おっと":break
  3583.     case 41:R="待機してますよ":break
  3584.     case 42:R="なんでしょう":break
  3585.     case 43:R="やってみます":break
  3586.     case 44:R="はいこちら":break
  3587.     case 45:R="なんですか":break
  3588.     case 46:R="あら":break
  3589.     case 47:R="ありゃ":break
  3590.     case 48:R="あれ":break
  3591.     case 49:R="おや":break
  3592.     case 50:R="ガーン":break
  3593.     case 51:R="あいたー":break
  3594.     case 52:R="反応があります":break
  3595.     case 53:R="反応":break
  3596.     case 54:R="なんだこりゃ":break
  3597.     case 55:R="みたい":break
  3598.     case 56:R="です":break
  3599.     case 57:R="偽装":break
  3600.     case 58:R="商船":break
  3601.     case 59:R="貨物船":break
  3602.     case 60:R="採掘ポート":break
  3603.     case 61:R="あります":break
  3604.     case 62:R="ありません":break
  3605.     case 63:R="ある":break
  3606.     case 64:R="ない":break
  3607.     case 65:R="応援をよこしてください":break
  3608.     case 66:R="あやしい":break
  3609.     case 67:R="本船は現在":break
  3610.     case 68:R="なんとかなるだろう":break
  3611.     case 69:R="ありました":break
  3612.     case 70:R="このあたりに":break
  3613.     case 71:R="燃料が少なくなってきました":break
  3614.     case 72:R="燃料":break
  3615.     case 73:R="きた":break
  3616.     case 74:R="じゃないか":break
  3617.     case 75:R="かわします":break
  3618.     case 76:R="つっこみます":break
  3619.     case 77:R="よけます":break
  3620.     case 78:R="にげます":break
  3621.     case 79:R="なんとかします":break
  3622.     case 80:R="接舷します":break
  3623.     case 81:R="します":break
  3624.     case 82:R="しました":break
  3625.     case 83:R="したようです":break
  3626.     case 84:R="しています":break
  3627.     case 85:R="確認":break
  3628.     case 86:R="大破":break
  3629.     case 87:R="突破":break
  3630.     case 88:R="衝突":break
  3631.     case 89:R="回避":break
  3632.     case 90:R="被弾":break
  3633.     case 91:R="発進":break
  3634.     case 92:R="停止":break
  3635.     case 93:R="故障":break
  3636.     case 94:R="致命的":break
  3637.     case 95:R="緊急":break
  3638.     case 96:R="修復":break
  3639.     case 97:R="かなり":break
  3640.     case 98:R="ではありません":break
  3641.     case 99:R="できません":break
  3642.     case 100:R="しません":break
  3643.     case 101:R="ブロック":break
  3644.     case 102:R="機能":break
  3645.     case 103:R="問題":break
  3646.     case 104:R="可能":break
  3647.     case 105:R="不可能":break
  3648.     case 106:R="できます":break
  3649.     case 107:R="発見":break
  3650.     case 108:R="到着":break
  3651.     case 109:R="処置":break
  3652.     case 110:R="爆発":break
  3653.     case 111:R="コースター":break
  3654.     case 112:R="トレイ":break
  3655.     case 113:R="ボックス":break
  3656.     case 114:R="カップ":break
  3657.     case 115:R="星系":break
  3658.     case 116:R="恒星":break
  3659.     case 117:R="惑星":break
  3660.     case 118:R="衛星":break
  3661.     case 119:R="競星":break
  3662.     case 120:R="宙域":break
  3663.     case 121:R="こちら":break
  3664.     case 122:R="されました":break
  3665.     case 123:R="きます":break
  3666.     case 124:R="ボンサイ":break
  3667.     case 125:R="盆栽":break
  3668.     case 126:R="宇宙港":break
  3669.     case 127:R="ユニット":break
  3670.     case 128:R="ボイド・ブイ":break
  3671.     case 129:R="ブイ":break
  3672.     case 130:R="装置":break
  3673.     case 131:R="回路":break
  3674.     case 132:R="操作":break
  3675.     case 133:R="岩塊":break
  3676.     case 134:R="A級":break
  3677.     case 135:R="彗星":break
  3678.     case 136:R="不時着":break
  3679.     case 137:R="ばくち":break
  3680.     case 138:R="バリアー・コイル":break
  3681.     case 139:R="ワープ":break
  3682.     case 140:R="メダル":break
  3683.     case 141:R="ビーム・ナイフ":break
  3684.     case 142:R="クーラー":break
  3685.     case 143:R="ワンコイン・ジャンプボード":break
  3686.     case 144:R="機雷":break
  3687.     case 145:R="斥力":break
  3688.     case 146:R="高性能":break
  3689.     case 147:R="探知":break
  3690.     case 148:R="発信":break
  3691.     case 149:R="エミサイス":break
  3692.     case 150:R="バケオック":break
  3693.     case 151:R="予備":break
  3694.     case 152:R="受信":break
  3695.     case 153:R="信号":break
  3696.     case 154:R="帰艦":break
  3697.     case 155:R="から":break
  3698.     case 156:R="こっち":break
  3699.     case 157:R="あっち":break
  3700.     case 158:R="相当":break
  3701.     case 159:R="大変":break
  3702.     case 160:R="回復":break
  3703.     case 161:R="出力":break
  3704.     case 162:R="速度":break
  3705.     case 163:R="できました":break
  3706.     case 164:R="行ってきます":break
  3707.     case 165:R="てごわい":break
  3708.     case 166:R="なにをやっている":break
  3709.     case 167:R="なにやってんだ":break
  3710.     case 168:R="やりますか":break
  3711.     case 169:R="戦闘体制":break
  3712.     case 170:R="驚いた":break
  3713.     case 171:R="驚きました":break
  3714.     case 172:R="たまげた":break
  3715.     case 173:R="仰天だ":break
  3716.     case 174:R="すれすれだ":break
  3717.     case 175:R="完了":break
  3718.     case 176:R="やりました":break
  3719.     case 177:R="やった":break
  3720.     case 178:R="降伏":break
  3721.     case 179:R="ただ今":break
  3722.     case 180:R="現在":break
  3723.     case 181:R="もうすぐ":break
  3724.     case 182:R="誰か修理作業へまわしてください":break
  3725.     case 183:R="危険な状態です":break
  3726.     case 184:R="いいですね":break
  3727.     case 185:R="かっこいい":break
  3728.     case 186:R="いいね":break
  3729.     case 187:R="やるじゃないか":break
  3730.     case 188:R="どうですか":break
  3731.     case 189:R="完成しました":break
  3732.     case 190:R="中です":break
  3733.     case 191:R="":break
  3734.     case 192:R="":break
  3735.     case 193:R="":break
  3736.     case 194:R="":break
  3737.     case 195:R="":break
  3738.     case 196:R="":break
  3739.     case 197:R="":break
  3740.     case 198:R="":break
  3741.     case 199:R="":break
  3742.     case 200:R="":break
  3743.     case 201:R="":break
  3744.     case 202:R="":break
  3745.     case 203:R="":break
  3746.     case 204:R="ROCTOPAS":break
  3747.     endswitch
  3748.   return(R)
  3749.   endfunc
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  func firstsetting()
  3756.  
  3757.   
  3758.   h(0)="サンポイザー"        :hg( 0)=4 :hs( 0)=20:hs2( 0)=60:ad( 0)=3
  3759.   h(1)="ヤングノイマン"        :hg( 1)=11:hs( 1)=14:hs2( 1)=40:ad( 1)=3
  3760.   h(2)="シャミセンカスタネト"    :hg( 2)=18:hs( 2)=22:hs2( 2)=70:ad( 2)=2
  3761.   h(3)="サルスター"        :hg( 3)=7 :hs( 3)=34:hs2( 3)=35:ad( 3)=2
  3762.   h(4)="パクパクォーター"    :hg( 4)=18:hs( 4)=24:hs2( 4)=60:ad( 4)=3
  3763.   h(5)="ホネキチストライク"    :hg( 5)=10:hs( 5)=37:hs2( 5)=30:ad( 5)=1
  3764.   h(6)="サマソ"            :hg( 6)=3 :hs( 6)=20:hs2( 6)=40:ad( 6)=3
  3765.   h(7)="バックダッシュ・レア"    :hg( 7)=2 :hs( 7)=11:hs2( 7)=50:ad( 7)=4
  3766.   h(8)="カニアース"        :hg( 8)=9 :hs( 8)=20:hs2( 8)=40:ad( 8)=3
  3767.   h(9)="サメパチドギューンオウ"    :hg( 9)=2 :hs( 9)=21:hs2( 9)=50:ad( 9)=3
  3768.   h(10)="アタッキーフランソワ"    :hg(10)=14:hs(10)=26:hs2(10)=70:ad(10)=2
  3769.   h(11)="ワリカーン"        :hg(11)=9 :hs(11)=18:hs2(11)=55:ad(11)=3
  3770.   h(12)="タベレマシェン"    :hg(12)=18:hs(12)=39:hs2(12)=45:ad(12)=1
  3771.   h(13)="カロリーオファァー"    :hg(13)=0 :hs(13)=35:hs2(13)=32:ad(13)=2
  3772.   h(14)="マムシオン"        :hg(14)=1 :hs(14)=20:hs2(14)=35:ad(14)=3
  3773.   h(15)="ナイシャリン"        :hg(15)=13:hs(15)=17:hs2(15)=65:ad(15)=3
  3774.   h(16)="ドンクサクマエニナラエ":hg(16)=7 :hs(16)=22:hs2(16)=40:ad(16)=3
  3775.   h(17)="ナスダトラック"    :hg(17)=13:hs(17)=24:hs2(17)=75:ad(17)=2
  3776.   h(18)="フルーツインセロリ"    :hg(18)=14:hs(18)=23:hs2(18)=35:ad(18)=3
  3777.   h(19)="スカジタリウス"    :hg(19)=5 :hs(19)=22:hs2(19)=25:ad(19)=3
  3778.   h(20)="スモウレンダラー"    :hg(20)=1 :hs(20)=14:hs2(20)=30:ad(20)=3
  3779.   h(21)="ハマムラキュン"    :hg(21)=0 :hs(21)=40:hs2(21)=50:ad(21)=1
  3780.   h(22)="ビワズニューヨーカー"    :hg(22)=14:hs(22)=27:hs2(22)=40:ad(22)=2
  3781.   h(23)="ステミノモグリ"    :hg(23)=17:hs(23)=31:hs2(23)=30:ad(23)=2
  3782.   h(24)="ミライクン"        :hg(24)=5 :hs(24)=25:hs2(24)=30:ad(24)=3
  3783.   h(25)="ピザヤタイムアウト"    :hg(25)=4 :hs(25)=24:hs2(25)=20:ad(25)=2
  3784.   h(26)="カウンターモノリス"    :hg(26)=0 :hs(26)=15:hs2(26)=80:ad(26)=3
  3785.   h(27)="マイティーモール"    :hg(27)=17:hs(27)=27:hs2(27)=40:ad(27)=2
  3786.   h(28)="サンダーシェイプ"    :hg(28)=15:hs(28)=23:hs2(28)=30:ad(28)=3
  3787.   h(29)="ヒノナノカクワン"    :hg(29)=0 :hs(29)=22:hs2(29)=50:ad(29)=3
  3788.   h(30)="カナリトロイカー"     :hg(30)=13:hs(30)=14:hs2(30)=55:ad(30)=3
  3789.   h(31)="アンタガサイキョジャク":hg(31)=0 :hs(31)=22:hs2(31)=40:ad(31)=3
  3790.   h(32)="サクサクホリン"    :hg(32)=17:hs(32)=19:hs2(32)=50:ad(32)=3
  3791.   h(33)="フナヨイワカイシュウ"    :hg(33)=1 :hs(33)=32:hs2(33)=70:ad(33)=2
  3792.   h(34)="タイムポンカン"    :hg(34)=11:hs(34)=28:hs2(34)=30:ad(34)=2
  3793.   h(35)="サマシテクウシーフ"    :hg(35)=11:hs(35)=24:hs2(35)=50:ad(35)=3
  3794.   h(36)="ハマヤラワンワン"    :hg(36)=12:hs(36)=26:hs2(36)=15:ad(36)=3
  3795.   h(37)="ヒヤシテクウテイオー"    :hg(37)=5 :hs(37)=20:hs2(37)=45:ad(37)=3
  3796.   h(38)="オニタイジカー"    :hg(38)=13:hs(38)=18:hs2(38)=65:ad(38)=3
  3797.   h(39)="クリアザオールビット"    :hg(39)=2 :hs(39)=30:hs2(39)=30:ad(39)=2
  3798.   h(40)="サイレンカーニヴァル"    :hg(40)=10:hs(40)=31:hs2(40)=40:ad(40)=2
  3799.   h(41)="クワックフライ"    :hg(41)=15:hs(41)=24:hs2(41)=45:ad(41)=2
  3800.   h(42)="エルドラドガショー"    :hg(42)=16:hs(42)=22:hs2(42)=50:ad(42)=3
  3801.   h(43)="サンタパスター"    :hg(43)=5 :hs(43)=20:hs2(43)=64:ad(43)=3
  3802.   h(44)="フユウアンコウ"    :hg(44)=14:hs(44)=21:hs2(44)=50:ad(44)=3
  3803.   h(45)="ヤイテクウサモナー"    :hg(45)=6 :hs(45)=28:hs2(45)=65:ad(45)=2
  3804.   h(46)="ジャイアントワンワン"    :hg(46)=12:hs(46)=29:hs2(46)=20:ad(46)=2
  3805.   h(47)="ジャックポットミニ"    :hg(47)=8 :hs(47)= 5:hs2(47)=60:ad(47)=4
  3806.   h(48)="ワシャワシャホイホイ"    :hg(48)=9 :hs(48)=14:hs2(48)=50:ad(48)=3
  3807.   h(49)="アトカラモーチャージ"    :hg(49)=18:hs(49)=10:hs2(49)=70:ad(49)=4
  3808.   h(50)="ミノーチャレンジャー"    :hg(50)=19:hs(50)=19:hs2(50)=35:ad(50)=3
  3809.   h(51)="ネリケシフレーバ"    :hg(51)=6 :hs(51)=16:hs2(51)=40:ad(51)=3
  3810.   h(52)="ネゾウワルシャミン"    :hg(52)=7 :hs(52)=25:hs2(52)=50:ad(52)=2
  3811.   h(53)="サイハテミスプリント"    :hg(53)=16:hs(53)=41:hs2(53)=40:ad(53)=1
  3812.   h(54)="クイニゲサーチライト"    :hg(54)=4 :hs(54)=24:hs2(54)=25:ad(54)=2
  3813.   h(55)="ナルトギャラクシア"    :hg(55)=14:hs(55)=30:hs2(55)=40:ad(55)=2
  3814.   h(56)="ジョウントマスター"    :hg(56)=16:hs(56)=18:hs2(56)=50:ad(56)=3
  3815.   h(57)="オテモトボッシュウ"    :hg(57)=15:hs(57)=22:hs2(57)=30:ad(57)=3
  3816.   h(58)="コガシテクウサムライ"    :hg(58)=4 :hs(58)=21:hs2(58)=60:ad(58)=3
  3817.   h(59)="キタカゼスライダー"    :hg(59)=3 :hs(59)=28:hs2(59)=50:ad(59)=2
  3818.   h(60)="オセイボカラヤン"    :hg(60)=3 :hs(60)=14:hs2(60)=50:ad(60)=3
  3819.   h(61)="ナンキョクワンワン"    :hg(61)=12:hs(61)=38:hs2(61)=55:ad(61)=1
  3820.   h(62)="ネスゴシサイダイジ"    :hg(62)=3 :hs(62)=25:hs2(62)=50:ad(62)=2 /* 寝すごし西大寺
  3821.   h(63)="ハイワットタマ"    :hg(63)=11:hs(63)=20:hs2(63)=20:ad(63)=3
  3822.   h(64)="トウキョーポチットナ"    :hg(64)=4 :hs(64)=26:hs2(64)=50:ad(64)=2
  3823.   h(65)="ナイモンハナイ"    :hg(65)=7 :hs(65)=21:hs2(65)=50:ad(65)=3
  3824.   
  3825.   endfunc
  3826.  
  3827.  /* 
  3828.  /* 二者択一宇宙探索system
  3829.  /*       
  3830.  /* 選択肢分類
  3831.  /*   ・操縦プロセス
  3832.  /*   ・アクション・イベント
  3833.  /*     
  3834.  /* シナリオ
  3835.  /*   ・コンテナ奪回!
  3836.  /*   ・ポーストン邸強襲
  3837.  /*   ・武器商人とのにらみ合い
  3838.  /*   ・海賊船レッド・ゾーン
  3839.  /*   ・あっちが悪い
  3840.  /*   ・
  3841.  /* 
  3842.  /* 星図の裏、確率の外
  3843.  /* 
  3844.  /* 立 隣 影 酸 光 餅 電 眠 禅
  3845.  /* L R A S K H D M Z
  3846.  /* 
  3847.  /* 
  3848.  /* 吊した布
  3849.  /* カラノソリス
  3850.  /* 
  3851.  /* 
  3852.  /* 
  3853.  /* 
  3854.  /* 
  3855.  /* 
  3856.  
  3857.  
  3858.  
  3859.  func corg(n,t) /* crue face graphic get (number,type[0:front/1:rear])
  3860.  
  3861.   if t=0 then get(n*82,512,n*82+81,601,gm) else get(n*82,602,n*82+81,691,gm)
  3862.   endfunc
  3863.  
  3864.  
  3865.  
  3866.  func corp(n) /* graphic put (n;position code)
  3867.  
  3868.   switch n
  3869.     case 0:/* for (tokbox+)face
  3870.            put(590,397,671,486,gm):break
  3871.     case 1:/* for title
  3872.            put(490,401,571,490,gm):break /* pending
  3873.     case 2:/* for picnic text-window
  3874.            put(6,414,87,503,gm):break
  3875.  
  3876.  
  3877.     endswitch
  3878.   endfunc
  3879.  
  3880.  
  3881.  
  3882.  func corp_c(n)
  3883.  
  3884.   switch n
  3885.     case 0:fill(590,397,671,486,0):break
  3886.     case 1:fill(490,401,571,490,0):break
  3887.     case 2:fill(6,414,87,503,0):break
  3888.     endswitch
  3889.   endfunc
  3890.  
  3891.  
  3892.  
  3893.  func crue(n,t)
  3894.  
  3895.   int ci
  3896.   switch t
  3897.     case 0:get(n*82,512,n*82+81,601,gm):break
  3898.     case 1:get(n*82,602,n*82+81,691,gm):break
  3899.     case 2:get(820,512,901,601,gm):break
  3900.     endswitch
  3901.   switch n
  3902.     case 2:put(660,271,741,360,gm):break
  3903.     case 8:put(570,271,651,360,gm):break
  3904.     case 0:put(50,241,131,330,gm):break
  3905.     case 6:put(135,241,216,330,gm):break
  3906.     case 3:put(420,308,501,396,gm)
  3907.       line(470,395,473,373,14):line(471,395,474,373,14)
  3908.       line(474,373,509,373,14):box(505,373,506,395,14)
  3909.       line(509,373,510,395,14):line(510,373,511,396,14)
  3910.       box(476,376,499,392,2):break
  3911.     case 4:put(220,308,301,396,gm):break
  3912.     endswitch
  3913.   endfunc
  3914.  
  3915.  
  3916.  
  3917.  func picnic() /* ROCTOPUS:MAIN BRIDGE
  3918.  
  3919.   cls
  3920.   cambox(0)
  3921.   vpage(0)
  3922.   contrast(4)
  3923.   fill(659,367,740,426,0)
  3924.   fill(400,445,765,485,0)
  3925.   circle(383,200,100,2)
  3926.   circle(383,200,130,5,345,195,256)
  3927.   line(223,235,273,235,14)
  3928.   line(493,235,543,235,14)
  3929.   line(223,235,218,300,14):line(273,235,278,300,14)
  3930.   line(224,235,219,300,14):line(274,235,279,300,14)
  3931.   line(493,235,488,300,14):line(543,235,548,300,14)
  3932.   line(492,235,487,300,14):line(542,235,547,300,14)
  3933.   line(544,250,555,250,14)
  3934.   line(545,257,555,257,14)
  3935.   fill(555,250,556,257,14)
  3936.   fill(550,253,551,254,14)
  3937.   fill(550,249,551,232,14)
  3938.   circle(550,220,11,7)/*:circle(551,220,11,7)
  3939.   
  3940.   line(279,300,488,300,14)
  3941.   box(48,37,228,47,2)
  3942.   box(538,37,718,47,2)
  3943.   fill(223,30,274,40,14):fill(264,31,272,39,0):fill(225,31,233,39,0):fill(236,30,261,40,0)
  3944.   fill(492,30,543,40,14):fill(494,31,502,39,0):fill(533,31,541,39,0):fill(505,30,530,40,0)
  3945.   line(276,35,490,35,7)
  3946.   line(268,29,268,25,14):line(498,29,498,25,14)
  3947.   line(267,29,267,25,14):line(499,29,499,25,14)
  3948.   line(268,25,498,25,14)
  3949.   line(229,29,227,0,14):line(537,29,539,0,14)
  3950.   fill(333,282,433,307,14)
  3951.   fill(345,284,421,305,0):fill(346,285,420,304,5)
  3952.   fill(340,285,341,304,0)
  3953.  
  3954.   box(3,412,483,505,15):box(4,412,482,505,12)    /* (text area) x:1-59, y:26-30 
  3955.  
  3956.   line(18,240,45,300,14):line(19,240,46,300,14)
  3957.   line(45,300,0,311,14)
  3958.   line(0,236,18,240,14)
  3959.  
  3960.   line(45,0,18,60,14):line(46,0,19,60,14)
  3961.   line(18,60,0,64,14)
  3962.   line(722,0,749,60,14):line(721,0,748,60,14)
  3963.   line(749,60,767,64,14)
  3964.  
  3965.   line(0,332,214,332,14):line(214,332,214,397,14):line(215,332,215,397,14)
  3966.   box(700,220,768,240,14):line(701,220,701,240,14)
  3967.   box(698,242,740,270,2)
  3968.   circle(720,230,7,2):circle(740,230,7,2)
  3969.   box(753,237,768,240,14)
  3970.   fill(743,243,744,244,15):fill(743,249,744,250,2)
  3971.   crue(2,1)
  3972.   crue(8,1)
  3973.   crue(0,0)
  3974.   crue(6,1)
  3975.   crue(3,1)
  3976.   crue(4,1)
  3977. /*  box(575,321,649,361,14):box(576,321,648,361,14)
  3978.   line(560,361,767,361,14)
  3979.   line(760,295,767,295,14):line(760,295,742,361,14):line(761,295,743,361,14)
  3980.   line(354,397,356,370,14):line(355,397,357,370,14)
  3981.   line(357,370,413,370,14):line(215,397,355,397,14)
  3982.   line(413,370,415,397,14):line(414,370,416,397,14)
  3983.   line(416,397,590,397,14)
  3984.   line(590,397,593,411,14):line(591,397,594,411,14)
  3985.   line(560,361,553,397,14):line(561,361,554,397,14)
  3986.   contrast(15)
  3987.   vpage(1)
  3988.   endfunc
  3989.  
  3990.  
  3991.  
  3992.  func airb(C) /* 表示画面をキャラ(表裏交互)で埋める デモ用(?)
  3993.  
  3994.   int LS,LM,LF
  3995.   vpage(0)
  3996.   for LS=0 to 4
  3997.       for LM=0 to 8
  3998.           if LF=0 then LF=1 else LF=0
  3999.           corg(C,LF)
  4000.           put(85*LM,100*LS+10,85*LM+81,100*LS+99,gm)
  4001.           next
  4002.       next
  4003.   vpage(1)
  4004.   endfunc
  4005.  
  4006.  
  4007.  
  4008.  func texpin_sc() /* TEXT-PINBALL BASIC SCREEN FORM
  4009.  
  4010.   /* ball --- phase --- impact
  4011.   box(250,20,380,110,15)
  4012.   line(250,110,200,310,15)
  4013.   line(380,110,430,310,15)
  4014.   box(200,310,430,370,15)
  4015.   endfunc
  4016.  
  4017.  
  4018.  
  4019.  func sleep(CC;int) /* グラフィック部暗転/CC...処理をキャンセルする色番号(1~15,通常は0)
  4020.  
  4021.   int L,LB
  4022.   for L=1 to 31
  4023.       R2=0:B2=0:G2=0
  4024.       for LB=0 to 13
  4025.           if LB+1=CC then continue
  4026.           R2=crgb(LB*3)-L:if R2<0 then R2=0
  4027.           G2=crgb(LB*3+1)-L:if G2<0 then G2=0
  4028.           B2=crgb(LB*3+2)-L:if B2<0 then B2=0
  4029.           palet(LB+1,rgb(R2,G2,B2))
  4030.           next
  4031.       if CC<>15 then palet(15,rgb(31-L,31-L,31-L))
  4032.       wait(1)
  4033.       next
  4034.   endfunc
  4035.  
  4036.  
  4037.  
  4038. func awake(CC;int) /* パレット復帰/CC...処理をキャンセルする色番号(1~15,通常は0)
  4039.  
  4040.  int L,LB
  4041.  for L=1 to 31
  4042.      R2=0:B2=0:G2=0
  4043.      for LB=0 to 13
  4044.          if LB+1=CC then continue
  4045.          R2=L:if crgb(LB*3)<L then R2=crgb(LB*3)
  4046.          G2=L:if crgb(LB*3+1)<L then G2=crgb(LB*3+1)
  4047.          B2=L:if crgb(LB*3+2)<L then B2=crgb(LB*3+2)
  4048.          palet(LB+1,rgb(R2,G2,B2))
  4049.          next
  4050.      if CC<>15 then palet(15,rgb(L,L,L))
  4051.      wait(1)
  4052.      next
  4053.  endfunc
  4054.  
  4055.  
  4056.  
  4057. func graphpac() /* 開発用/グラフィック・セーバ
  4058.  
  4059.  int L,LL,P,N
  4060.  N=fopen("HP_GRA.DAT","c")
  4061.  for LL=0 to 2 
  4062.      for L=0 to 9
  4063.          get(L*82,LL*90+512,L*82+81,LL*90+601,gm)
  4064.          P=fwrite(gm,3690,N)
  4065.          next
  4066.      next
  4067.  P=fclose(N)
  4068.  endfunc
  4069.  
  4070.  
  4071.  
  4072. func graphicLoad() /* 未使用
  4073.  
  4074.  int N,LL,L,P
  4075.  N=fopen("HP_GRA.DAT","r")
  4076.  for LL=0 to 2
  4077.      for L=0 to 9
  4078.          P=fread(gm,3690,N)
  4079.          put(L*82,LL*90+512,L*82+81,LL*90+601,gm)
  4080.          next
  4081.      next
  4082.  P=fclose(N)
  4083.  endfunc
  4084.  
  4085.  
  4086.  
  4087. func test1()
  4088.  
  4089.  int L,P,D,A,B,T
  4090.  str S,TW
  4091.  D=255
  4092.  TW=right$(time$,1)
  4093.  while 1
  4094.   if right$(time$,1)<>TW then break
  4095.   endwhile  
  4096.  T=0 /* counter
  4097.  TW=right$(time$,1)
  4098.  while 1
  4099.   if right$(time$,1)<>TW then break
  4100.   P=D
  4101.   A=P/16
  4102.   B=P mod 16
  4103.   T=T+1
  4104.   endwhile
  4105.  color 7:pen(0,0,"(/),(mod):"+str$(T)+"times")
  4106.  TW=right$(time$,1)
  4107.  while 1
  4108.   if right$(time$,1)<>TW then break
  4109.   endwhile  
  4110.  T=0 /* counter
  4111.  TW=right$(time$,1)
  4112.  while 1
  4113.   if right$(time$,1)<>TW then break
  4114.   P=D
  4115.   A=P/16
  4116.   B=P-A*16
  4117.   T=T+1
  4118.   endwhile
  4119.  color 7:pen(0,1,"(/),(*):"+str$(T)+"times")
  4120.  hitany()
  4121.  endfunc 
  4122.  
  4123.  
  4124. func test2()
  4125.  
  4126.  int L,P,D,A,B,T
  4127.  str S,TW
  4128.  S="1011011001"
  4129.  D=255
  4130.  TW=right$(time$,1)
  4131.  while 1
  4132.   if right$(time$,1)<>TW then break
  4133.   endwhile  
  4134.  T=0 /* counter
  4135.  TW=right$(time$,1)
  4136.  while 1
  4137.   if right$(time$,1)<>TW then break
  4138.   for L=1 to 10
  4139.       if mid$(S,L,1)="1" then pset(L,30,15)
  4140.       next
  4141.   T=T+1
  4142.   endwhile
  4143.  color 7:pen(0,0,"(if):"+str$(T)+"times")
  4144.  TW=right$(time$,1)
  4145.  while 1
  4146.   if right$(time$,1)<>TW then break
  4147.   endwhile  
  4148.  T=0 /* counter
  4149.  TW=right$(time$,1)
  4150.  while 1
  4151.   if right$(time$,1)<>TW then break
  4152.   for L=1 to 10
  4153.       pset(L,30,atoi(mid$(S,L,1))*15)
  4154.       next
  4155.   T=T+1
  4156.   endwhile
  4157.  color 7:pen(0,1,"(all):"+str$(T)+"times")
  4158.  hitany()
  4159.  endfunc 
  4160.  
  4161.  
  4162. func faces()
  4163.  
  4164.  int L,X,C,P
  4165.  box(48,48,71,141,15)
  4166.  color 7
  4167.  while 1
  4168.   pen(0,0,space$(8))
  4169.   pen(0,0,str$(C*82+X)+"["+str$(X)+"]")
  4170.   get(C*82+X,512,C*82+X+19,601,gm)
  4171.   put(50,50,69,139,gm)
  4172.   hitany()
  4173.   if as="4" then if X>0 then X=X-1
  4174.   if as="6" then if X+19<81 then X=X+1
  4175.   if as="8" then if C<9 then C=C+1
  4176.   if as="2" then if C>0 then C=C-1
  4177.   endwhile
  4178.  endfunc
  4179.  
  4180.  
  4181.  
  4182.  /* Sen 1:バケモンモード
  4183.  /*     2:
  4184.  
  4185.  /*     9:ルーレット・メモリ (航行先の決定時に参考として使用)
  4186.  /*    10:惑星オトトギー
  4187.  /*    11: 衛星モリス
  4188.  /*    12: 衛星チタンスシヤ
  4189.  /*    13:惑星レガンタ
  4190.  /*    14: 衛星リンリン
  4191.  /*    15: 衛星ズオビシ
  4192.  /*    16:惑星ヘタライズ
  4193.  /*    17:惑星パリヤン
  4194.  /*    18:惑星ノットロット
  4195.  /*    19: 衛星タコイズ
  4196.  /*    20:惑星リンカリピカ
  4197.  /*    21: 衛星ティム
  4198.  /*    22: 衛星ダムト
  4199.  /*    23:惑星フリッツァ
  4200.  /*    24:惑星エンジエイラ   0)未踏査 1)完全制覇 2)クリア 3~)未クリア[探索回数+2]
  4201.  
  4202.  /*    34:flet/1 [37] 1:STG 2:SLG 3:RPG 4:ACT 5:ADV
  4203.  /*    35:flet/2 [37]
  4204.  /*    36:flet/3 [37]
  4205.  /*    37:ヘビのダーシイ、開発状況 0,1(ジャンル),2(タイプ),3(シーン),4(カンセイ!)
  4206.  /*    38:化学室の亡霊 0:ASLEEP 1:AWAKE 2:WALKING 3:DESTROY-RUNNING
  4207.  /*    39:船底フラスコの蓄積量(あくまで目安、許容量は11)
  4208.  /*    40:お食事権 (8以上有効、食事毎にクリア)
  4209.  
  4210.  /*    47:受賞回数
  4211.  /*    48:ワープ回数
  4212.  /*    49:交戦回数
  4213.  /*    50:離陸回数
  4214.  
  4215.  
  4216.